Announcing Yugabyte DB 2.0 GA: High-Performance Distributed SQL
blog.yugabyte.com
blog.yugabyte.com
I've had to look a bit in the docs to find this page, which seems to confirm it: https://docs.yugabyte.com/latest/manage/diagnostics-reportin...
As someone who has seen this tracking-by-default issue play out a few times, I'd recommend having a clear notice on the installation page that includes details on how to opt-out.
[1] https://twitter.com/jepsen_io/status/1174317882056040456
Most "Distributed DB" vendors do not support transactional DDL yet to our knowledge, and haven't been subjected to this specific test. In any case, I have updated the post/blog to clarify this:
<< Given that DocDB, Yugabyte DB’s underlying distributed document store, is common across both the YCQL and YSQL APIs, it was no surprise that YSQL passed official Jepsen run safety tests relatively easily (with the exception of transactional DDL support, which almost no other distributed SQL database vendor supports, and we plan to support soon. The real-world impact of this open issue is really small as it is limited to cases where DML happens before DDL has fully finished). >>
The ticket tracking this open issue is https://github.com/YugaByte/yugabyte-db/issues/2021.
Thanks for your feedback! Not sure when you tried yugabyteDB, but our serializable isolation level and YSQL API (which is needed to exercise serializability) were in beta till a couple of days ago. That said, if you can share some feedback, that would help us out immensely. All kinds of feedback welcome - be it about the product or why you feel we are not transparent. Absolute transparency has always been our goal, your feedback will definitely help us improve.
(cto/co-founder)
'Jepsen tested' is a clever dark-patterny choice of technically correct but entirely misleading language here.
So... database migrations.
There might be other ways this could play out in migrations--I haven't had time to look deeply.
Read between the lines.
If R2DBC is already supported, it would be nice to receive CDC events through driver instead of forwarding to Local file or Kafka or ES just like Change Streams in RethinkDB or MongoDB.
YugabyteDB CDC support is in early beta right now. To read more: https://github.com/YugaByte/yugabyte-db/blob/master/architec...
https://docs.yugabyte.com/latest/comparisons/
I wonder what architectural reasons there are that allow them to claim low p-99 latency. Is it because of allowing different consistency levels?
[1] https://blog.yugabyte.com/how-we-built-a-high-performance-do...
[2] https://blog.yugabyte.com/enhancing-rocksdb-for-speed-scale/
[3] https://blog.yugabyte.com/low-latency-reads-in-geo-distribut...
EDIT: As another note, I believe Aurora added multi-master support recently. How does that compare as well?
There are two benchmark workloads, simple inserts and secondary index. The simple inserts workload 50M unique key-values into the database using prepare-bind INSERT statements with 256 writer threads running in parallel. There were no reads against the database during this period. The secondary index inserts does the same things against a table which has an index on the value column (forcing each operation to transactionally update the primary and index tables). We use this simple workload frequently to test scalability of YugabyteDB. If interested, here is the sample app repo: https://github.com/YugaByte/yb-sample-apps
Here is a previous version of the benchmark comparing YCQL (no YSQL here, it was not GA then), it has more details about the scenario we are going for (this part applies to this benchmark also): https://blog.yugabyte.com/yugabyte-db-vs-cockroachdb-perform... The above post goes through more workloads than this one - we have not had the time to run everything on YSQL yet. The aim of this post was mainly to explore write perf and scalability vs Amazon Aurora.
> As another note, I believe Aurora added multi-master support recently. How does that compare as well?
Good question. Multi-master deployment sacrifices consistency with last writer wins semantics, so we did not benchmark against that. For example, the benchmark driver can write to one node and read from another before the data was replicated. But may still be interesting from a tradeoff perspective (perf vs consistency).
Also, note that we have also just announced multi-master support between separate YugabyteDB cluster - so a benchmark is probably something we should do at some point anyway!