
FoundationDB community highlights, two weeks in - wwilson
https://www.foundationdb.org/blog/foundationdb-community-highlights-two-weeks-in/
======
fnord123
To add to the list in TFA, Rust bindings are here:

[https://github.com/bluejekyll/foundationdb-
rs](https://github.com/bluejekyll/foundationdb-rs)

~~~
bluejekyll
You beat me to it!

I think we're getting close to a 0.2 release. We have enough working for the
class scheduling tutorial, so seems like a good next point release soon.

------
ihnorton
I’m curious how they plan to do continuous integration. The Apple hardware-
only clause of the macOS SDK license agreement really crimps the options for
CI, especially for open source projects with limited budget. Travis is a
godsend, but there are startup latency and capacity issues there even in the
paid tier. Apple has made major contributions to open source, as evidenced by
FoundationDB here, LLVM, WebKit, and other projects. But they no longer make
servers, and the fallback — Mac mini — is on life support, which puts projects
and service providers who need to treat macOS as a first-class target in a
real bind. Even something limited like the IE Edge and Visual Studio images
Microsoft provides would be a huge boost.

~~~
wwilson
The only license you need to accept to use this software is Apache 2, so I’m
not sure where you’re getting the idea that there’s an Apple hardware
restriction.

~~~
ihnorton
The question is not about where FoundationDB can run in general. Sorry if that
was unclear.

The question is about (public?) continuous integration testing for changes to
FDB against macOS specifically, eg for pull-requests (for example, to allow
contributors to make changes targeting other platforms without needing to own
a mac for local tests).

~~~
wwilson
Ah, sorry, that’s a good question.

The good news is that FDB has a fairly opaque platform abstraction, and
deterministic simulation tests for everything above it, so the vast majority
of continuous testing in terms of CPU cycles can be run on Linux.

The only thing that _really_ needs to run on a Mac are tests for changes to
the build or packaging system, or to the MacOS implementation of the platform
layer. My sense is those changes are pretty rare.

I don’t know whether the FDB team has an official recommendation for MacOS CI.
I’d recommend posting a question on the forums:
[http://forums.foundationdb.org](http://forums.foundationdb.org)

------
carlhjerpe
I'd like to see the ANSI SQL layer open-sourced, and some benchmarks.

~~~
jfindley
Last time I looked, the SQL layer was _really_ slow. I know they invested a
ton of effort to improving it, but I don't think they ever really cracked the
problem and I think you're likely better off with CockroachDB, as mentioned in
another reply.

~~~
fizx
I've built a toy SQL database before that actually did a good job with query
planning and used existing highly optimized storage engines (lucene or
rocksdb).

It was slow AF, because the actual query execution has a ton of method
dispatches, etc to e.g. check index conditions or assemble rows and it never
quite gets fully JIT'd by the JVM.

Every reasonable SQL engine i'm aware of compiles queries to lower-level code.
A cursory inspection of their code indicates they don't do this, so its not
surprising its slow.

------
Mister_Snuggles
It's even been ported and packaged for FreeBSD:
[https://www.freshports.org/databases/foundationdb/](https://www.freshports.org/databases/foundationdb/)

~~~
aseipp
I've also created a package, as well as module support, for FoundationDB on
NixOS:

    
    
      https://hydra.nixos.org/job/nixpkgs/trunk/foundationdb51.x86_64-linux
    

Hopefully it will be in a good place by the time NixOS 18.09 is out.

------
coldcode
Hoping someone makes a Swift interface, given this is coming from Apple, one
would hope there would be one.

~~~
superlopuh
It's a race between a Swift native client and Swift-Python interop :)

------
dman
I am very curious on what Apple uses as the server OS in its datacenters. Do
they use OSX or do they use Linux / FreeBSD?

~~~
FBISurveillance
A company of Apple size likely uses multiple OS', I wouldn't be surprised if
they even run Windows servers somewhere.

Judging from their "DevOps" position requirements, their stack is similar to
many others out there Chef, Ansible, Docker, Kubernetes, Java, Python (with
accent on Python so maybe Salt Stack), Ruby, Go, Git, C++.

Given their extensive Hadoop infrastructure, likely CentOS or Debian flavor.
Some job positions list "RHEL or derivative a plus".

~~~
e12e
> Ansible,... Python (with accent on Python so maybe Salt Stack)

I'm not sure it makes a lot of sense to use ansible _and_ salt stack (both
automation tolls written in python).

They strike me more as alternatives than being complimentary.

~~~
krylon
Apple is a big company. Different teams/divisions within the company might
plausibly use both.

------
ex3ndr
Probably a silly question, but does someone running it in production already?
I mean not Apple, but someone from community.

~~~
manigandham
As the article states, Snowflake Data [1] and Wavefront [2] have been using
it. SkuVault [3] is another company.

[https://www.snowflake.net/how-foundationdb-powers-
snowflake-...](https://www.snowflake.net/how-foundationdb-powers-snowflake-
metadata-forward/)

[https://www.wavefront.com/wavefront-foundationdb-open-
source...](https://www.wavefront.com/wavefront-foundationdb-open-source-
project/)

[https://abdullin.com/sku-vault/foundationdb-
layers/](https://abdullin.com/sku-vault/foundationdb-layers/)

There are probably several other companies from the original releases that
haven't posted anything publicly, but it'll be awhile before we get full
deployments from the latest open-source versions.

------
praveenhm
Is there any apache Spark foundationDB integration, like drivers?

~~~
gregwebs
You might be interested in TiDB's TiSpark which is all built on top of TiKV
(equivalent to FoundationDB).

[https://github.com/pingcap/tispark](https://github.com/pingcap/tispark)

------
whateveracct
Another highlight: FoundationDB is in nixpkgs unstable!

------
marknadal
Could somebody clarify the license? I was excited this was Open Source, but
then some people say you are only allowed to run it on MacOS? How can that be?

Also, how does FoundationDB compare (in general, and in performance) to:

\- CockroachDB (competitor) [https://www.cockroachlabs.com/blog/2-dot-0-perf-
strides/](https://www.cockroachlabs.com/blog/2-dot-0-perf-strides/)

\- Redis (competitor)
[https://redis.io/topics/benchmarks](https://redis.io/topics/benchmarks)

\- GUN (ours) [https://github.com/amark/gun/wiki/100000-ops-sec-in-
IE6-on-2...](https://github.com/amark/gun/wiki/100000-ops-sec-in-IE6-on-2GB-
Atom-CPU)

\- Fauna (competitor)
[https://fauna.com/enterprise#Scalability](https://fauna.com/enterprise#Scalability)

\- VoltDB (competitor) [https://www.voltdb.com/blog/2017/10/02/comparing-fast-
data-p...](https://www.voltdb.com/blog/2017/10/02/comparing-fast-data-
performance-a-comparison-of-voltdb-and-cassandra-benchmarks/)

\- RocksDB (competitor) [https://github.com/facebook/rocksdb/wiki/performance-
benchma...](https://github.com/facebook/rocksdb/wiki/performance-benchmarks)

Is the the big boom in FoundationDB just that it is "now Open Source", or that
Apple vetted it (why didn't they keep it closed source?), or is there
something distinctly unique about FoundationDB that it surpasses a bunch of
other tried and true systems?

~~~
sigstoat
> Could somebody clarify the license? I was excited this was Open Source, but
> then some people say you are only allowed to run it on MacOS? How can that
> be?

there's nothing to clarify. there are people spewing nutty weirdness, and then
there's
[https://github.com/apple/foundationdb/blob/master/LICENSE](https://github.com/apple/foundationdb/blob/master/LICENSE)

if that somehow isn't convincing, they distribute linux binaries.

~~~
marknadal
Thank you! This is legit, glad to see it is Apache2.

EDIT: Why on earth are people downvoting this comment, is Apache2 hated by
most HNers?? It is one of the best licenses out there.

EDIT 2: RE: @sigstoat comment:

I read through the whole article and even checked out and read through
JosephG's (ShareJS author) FDB repo before commenting, and had even read the
other comments (which is where I saw the MacOS thing). Just to clear the air
(thanks @sigstoat for suggesting an answer).

I followed FDB back when it was proprietary too, which is part of my curiosity
if proprietary -> OSS receives a bigger reaction than companies like
CockroachDB who have always been OSS. It has taken CockroachDB years to get to
13K stars, compare to FDB's 7K+ in just two weeks, I'm really interested in
how/why behind these mechanics.

~~~
sigstoat
> Why on earth are people downvoting this comment

all of your comments appear to be getting downvotes, probably because they
look suspiciously as though you haven't even spent 45 seconds on the website,
despite being in the database space yourself.

