3 ms·
FoundationDB is just a key value store, so it's not comparable. There is a relational layer you can run though called Foundation Record Layer. But this doesn't
by eatonphil 5y ago
FoundationDB is just a key value store, so it's not comparable.
There is a relational layer you can run though called Foundation Record Layer. But this doesn't support SQL AFAICT. The examples on Github just show a query builder interface in Java [0].
There does seem to be a Lucene interface but it doesn't seem to be used [1].
[0] https://github.com/FoundationDB/fdb-record-layer/blob/main/examples/src/main/java/com/apple/foundationdb/record/sample/Main.java https://github.com/FoundationDB/fdb-record-layer/blob/main/e...
[1] https://forums.foundationdb.org/t/lucene-layer-on-foundationdb/1229/5 https://forums.foundationdb.org/t/lucene-layer-on-foundation...
- StreamBright 5y agoThere used to be some SQL layer: https://forums.foundationdb.org/t/sql-layer-in-foundationdb/94 https://forums.foundationdb.org/t/sql-layer-in-foundationdb/...
- eatonphil 5y agoNeat, here [0] is a 3rd party one at the end of the thread but this isn't the one the thread is about. Doesn't seem like that one is public. [0] https://github.com/rustdesk/opentick https://github.com/rustdesk/opentick
- aseipp 5y agoIt was open source and if you Google a bit you can find forks with the relevant code snapshots, here's one: https://github.com/AydinSakar/sql-layer https://github.com/AydinSakar/sql-layer
- tonyhb 5y agoIt's comparable based off of the fundamentals and I have the same question. They both use KVs using LSMs, do range queries, support ACID transactions, handle resharding and clustering for you. They're both based off of Spanner fundamentals. They both actually have an SQL layer - foundationdb's is the record layer. Just because one has a primary SQL interface doesn't mean we can't compare. I'd really like to know a comparison of the fundamentals including hotspot management, resharding, read/write performance, resharding etc. also and have been looking for this.
- eatonphil 5y ago> They both actually have an SQL layer - foundationdb's is the record layer. Can you show me their SQL layer? I was looking for it.
- tonyhb 5y agohttps://github.com/FoundationDB/fdb-record-layer https://github.com/FoundationDB/fdb-record-layer is the SQL/orm like interface. This handles things in a DB like way - joins, indexes. I misspoke when I said SQL regarding this - sorry. There's a go and rust library floating around that's not as good. I've tried em :)
- eatonphil 5y agoThe readme says > Queries - The Record Layer does not provide a query language, however it provides query APIs with the ability to scan, filter, and sort across one or more record types, and a query planner capable of automatic selection of indexes. So I'm not sure how you can call that a SQL layer when SQL is a query language and FDB Record Layer says it doesn't have a query language?
- tonyhb 5y agoYeah, I did say "I misspoke when I said SQL regarding this - sorry.". I should have said "SQL-like", or at least relation-like. There were a couple SQL-ish things I found in other languages and got them mixed up. Sorry about that :)
- AlphaSite 5y agoI don’t think it ever got open sourced, although I do remember reading about it years back.
- richieartoul 5y agoFWIW I don't think FoundationDB is based off Spanner at all (it might even predate it? I think FDB was started in 2008 or something). Its transaction handling system is completely different (and unique from what I can tell) and not dependent on well behaved clocks.