YugabyteDB Community Engineering Update, Tricks and Tips – Nov 8, 2019
Welcome to this week’s community update where we recap a few interesting questions that have popped up in the last week or so on the YugabyteDB Slack channel, the Forum, GitHub or Stackoverflow. We’ll also review upcoming events, new blogs and documentation that has been published since the last update. Ok, let’s dive right in:
What effect does TTL have on performance?
Fulton_Fu over over on the Forum, asked how “Time to Live” or TTL works inside of YugabyteDB and what if any effect it might have on performance.
The answer is pretty complex based on the way that you want to use it, so check the whole thread for internals and best recommendations depending on the use-case. But in a nutshell the row/column isn’t deleted when it expires, but is checked on read time. Over time, data is deleted during compactions in the background.
How does key rotation work for encryption at rest?
YourTechBud over on Slack, asked how key rotation works for encryption at rest.
In YugabyteDB each data file has a unique per file data key in its header, encrypted with the latest universe key. When you do a universe key rotation, old files/data keys aren’t re-encrypted, but all newly flushed or compacted files will use the new key. Therefore, we preserve a universe key registry in master, that has a history of all keys for the cluster. Eventually, after enough writes, all new files will be encrypted under the new key. YugabyteDB doesn’t have a mechanism to GC old keys, but in theory you won’t need need old keys past this point.
What is the correct way to recover failed nodes in a cluster?
YourTechBud over over on Slack, asked how to recover failed nodes in a cluster.
The steps to recovering failed nodes is the same as adding new nodes with some caveats.
Does YCQL support microsecond timestamps?
Fulton_Fu over over on the Forum, asked why microsecond timestamps work in YCQL, YugabyteDB’s Apache Cassandra-like API. As of this writing, Cassandra does not support microsecond precision. However, YugabyteDB’s YSQL API does support microsecond precision. For more information on working time and dates, check out the “Date and Time” documentation.
New Documentation, Blogs, Tutorials, and Videos
New Blogs
- The Benefit of Partial Indexes in Distributed SQL Databases
- How YugabyteDB Scales to More than 1 Million Inserts Per Sec
- Working with PostgreSQL Data Types in YugabyteDB
- YugabyteDB Community Engineering Update, Tricks and Tips – Oct 18, 2019
- 9 Techniques to Build Cloud-Native, Geo-Distributed SQL Apps with Low Latency
- How to: PostgreSQL Fuzzy String Matching In YugabyteDB
New Videos
We have uploaded over a dozen videos from this year’s Distributed SQL Summit. You can links to the presentations, slides and a recap of the highlights by checking out, “2019 Distributed SQL Summit Recap and Highlights.”
New and Updated Docs
Upcoming Meetups and Conferences
PostgreSQL Meetups
- Nov 13: Montreal PostgreSQL Meetup
- Nov 14: NYC PostgreSQL Meetup
Distributed SQL Webinars
- Nov 13: Designing a Change Data Capture and Two Data Center Architecture for a Distributed SQL Database
- Nov 20: Zero Down-Time Oracle to Cloud-Native PostgreSQL Migrations
KubeCon
- Nov 18-21: San Diego
AWS re:Invent
Dec 2-6: Las Vegas
Get Started
Ready to start exploring YugabyteDB features? Getting up and running locally on your laptop is fast. Visit our quickstart page to get started.
What’s Next?
- Compare YugabyteDB in depth to databases like CockroachDB, Google Cloud Spanner and MongoDB.
- Get started with YugabyteDB on macOS, Linux, Docker, and Kubernetes.
- Contact us to learn more about licensing, pricing or to schedule a technical overview.