Peter Kraft Profile Banner
Peter Kraft Profile
Peter Kraft

@petereliaskraft

Followers
1,829
Following
92
Media
41
Statuses
145

Co-founder @ • Stanford PhD • Database Geek • Building

Mountain View, CA
Joined November 2019
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
@petereliaskraft
Peter Kraft
2 months
Do you want to learn how databases really work? I strongly recommend checking out the reading list from @andy_pavlo 's Advanced Database Systems class at CMU. It's an excellent collection of classic and recent papers that go into detail on some of the most important subjects in
Tweet media one
8
94
835
@petereliaskraft
Peter Kraft
2 months
Firecracker is an incredibly cool piece of technology. Built by AWS and open-sourced, it's essentially a virtual machine monitor that tries to be as lightweight as possible, providing the minimal OS functionality most apps need to run (particularly network and file I/O) and
Tweet media one
7
80
553
@petereliaskraft
Peter Kraft
14 days
Query optimizers are a magic part of modern databases. You just write your query and the database figures out the fastest way to execute it! But how well does do query optimizers work, really? I like this paper because it empirically analyzes query optimization techniques on
Tweet media one
6
74
530
@petereliaskraft
Peter Kraft
1 month
Want to learn how database locks actually work? Check out this incredibly thorough review by database legend Goetz Graefe, which dives deep into how databases use locks to protect your data and the integrity of your transactions. One of the most interesting distinctions in this
Tweet media one
3
74
422
@petereliaskraft
Peter Kraft
17 days
Want to write log statements in single-digit nanoseconds? This cool paper from @JohnOusterhout 's group shows how. I like it because it combines deep performance analysis with clever optimizations to make a system as fast as possible. NanoLog is implemented as a more-or-less
Tweet media one
6
75
395
@petereliaskraft
Peter Kraft
1 month
Want to learn how database concurrency control really works? Check out this paper from @YingjunWu and @andy_pavlo !  It dives deep into the most widely used type of concurrency control today: multi-version concurrency control (MVCC). The basic idea behind MVCC is for a database
Tweet media one
1
51
295
@petereliaskraft
Peter Kraft
28 days
Want to learn some database history? Check out this classic paper by @joe_hellerstein and Mike Stonebraker! It covers the history of databases up to 2005, and there's a sequel that goes up to the present. What I found most interesting about this paper is that the relational
Tweet media one
4
49
250
@petereliaskraft
Peter Kraft
1 month
Want to learn how systems fail at scale? Check out this paper on metastable failures, a complex class of failures characteristic of big distributed systems. A metastable failure is a bad state that continues even after the triggering event is removed. For example, if an
Tweet media one
6
41
219
@petereliaskraft
Peter Kraft
1 month
Want to learn what it really takes to run a data warehouse at scale? I love this paper from Snowflake diving deep into some of the design choices in their signature data warehouse. The key idea behind Snowflake is compute-storage disaggregation. Instead of storing persistent
Tweet media one
3
32
209
@petereliaskraft
Peter Kraft
2 months
The famous CAP theorem is overrated. What the CAP theorem says is that in the event of a network partition, a system cannot be both consistent and available. This tradeoff is important, but not often relevant because network partitions are rare. Instead, the important tradeoff
Tweet media one
3
26
194
@petereliaskraft
Peter Kraft
20 days
Want to learn how concurrency control really works in Postgres? Check out this paper by @danrkports ! Up until 2011, Postgres had a subtle lie: it nominally supported running transactions with the strongest level of isolation--serializable isolation--but if you actually tried,
Tweet media one
2
27
178
@petereliaskraft
Peter Kraft
2 months
Stored procedures are one of the most-maligned elements of databases. The idea sounds good: run application logic inside the database, avoiding unnecessary round-trips and communication overhead between the application and database servers. And the performance gains are real,
Tweet media one
23
14
161
@petereliaskraft
Peter Kraft
2 months
Check out this new ACM Queue article about the future of serverless computing from me and @qianl_cs ! 📄PDF:
Tweet media one
0
23
108
@petereliaskraft
Peter Kraft
2 months
I see a lot of people getting database consistency wrong. But it's not your fault! There are actually two competing definitions of consistency. In databases, consistency (the C in ACID) means respecting all database constraints. For example, if an online store has a table of
Tweet media one
1
7
90
@petereliaskraft
Peter Kraft
2 months
Transaction isolation is one of the most poorly-explained topics in databases, largely because every system does it slightly differently. I'll try to set the record straight with a focus on Postgres. At its core, isolation determines how and when changes made by one transaction
Tweet media one
0
8
82
@petereliaskraft
Peter Kraft
2 months
Today, I want to talk about database transactions and why they're so important. A transaction is a sequence of database operations that execute as a single unit of work. If you're performing some operations on a database and wrap them in a transaction, the database guarantees
Tweet media one
2
16
80
@petereliaskraft
Peter Kraft
2 years
New blog post!📢 (w/ @qianl_cs ) Databases are incredibly important to modern applications, but infrastructure knows nothing about them--how much easier would developers' lives be if we fixed that?🤔
3
15
72
@petereliaskraft
Peter Kraft
2 months
Do you want to really learn from research papers? The best advice I got in grad school was: take notes! Summarize the key points of the paper in your own words as you're reading. This isn't so you can refer to the notes later, but because the act of taking good notes forces you
1
8
57
@petereliaskraft
Peter Kraft
2 months
What to make your database transactions three times faster? Thanks to @DevHawk , you can now use DBOS Transact to compile your application code into Postgres stored procedures. This means your app code will run inside your database, cutting down on unnecessary round-trips and
Tweet media one
1
8
48
@petereliaskraft
Peter Kraft
2 months
Anyone who's used AWS Lambda knows how expensive it can be at scale. But why? Well, a big part of it is the execution model. In Lambda, each request is launched into a separate execution environment, with its own resources (CPU and memory). This makes sense for compute-bound
Tweet media one
2
4
41
@petereliaskraft
Peter Kraft
1 year
📢Excited to share my new blog post () about how to get transactions between almost any data stores. I'm presenting this at VLDB `23 tomorrow, so please stop by! #VLDB23
0
7
40
@petereliaskraft
Peter Kraft
2 years
New blog post!📢 (w/ @qianl_cs ) We're excited to share our recent work on the DBOS project, building a new database-oriented operating system. Me, @XinjingC , and @CagatayDemiralp are giving DBOS-related talks at #VLDB2022 this week.
2
7
35
@petereliaskraft
Peter Kraft
2 years
New blog post!📢 We've shown that a lot of popular data systems like ElasticSearch and Druid have surprising similarities and belong to a big category we're calling query serving systems. We can build cool abstractions that cut across all these systems!
0
11
34
@petereliaskraft
Peter Kraft
5 years
Excited to share a new blog post on our #MLSys paper Willump, a system for automatically performing statistical optimizations of ML inference applications bottlenecked by feature computation.
0
3
25
@petereliaskraft
Peter Kraft
2 months
DBOS Transact v1.17 is out, and it's a big release! The standout feature is the stored procedure compiler. It lets you compile your transactions to Postgres stored procedures (using plv8), making them 2-3x faster by running them inside the database. 🚀 We've also added support
Tweet media one
0
3
25
@petereliaskraft
Peter Kraft
1 month
Just started building DBOS Python! 🚀 Really excited to add support for our most-demanded language. Look forward to regular updates and previews of our progress--we want this to be right by our users.
Tweet media one
0
6
24
@petereliaskraft
Peter Kraft
1 month
Want to reliably wait an hour, day, or week for a message? Check out this recent community contribution to DBOS, durable timeouts. Now, when your application sleeps or awaits an event with a timeout, it records its intended wake-up time in the database. That way, even if your
Tweet media one
1
4
24
@petereliaskraft
Peter Kraft
2 months
Today, I want to talk about dead letter queues. These are a classic idea from messaging systems--if a message is invalid or fails to deliver too many times, quarantine it in a "dead letter queue" for troubleshooting instead of wasting resources retrying it. DBOS needs these
Tweet media one
0
5
20
@petereliaskraft
Peter Kraft
2 months
Today, I want to clear up some confusion about atomicity.⚛️ It's an important concept, but one that's subtlety different in different fields of computer science. To database people (like me!), a sequence of operations is atomic if either all the operations happen or none of them
0
2
16
@petereliaskraft
Peter Kraft
25 days
Coming in the next release of DBOS: support for @DrizzleORM ! Heard about it from the community, tried it out and loved it, and our next release will fully support it so you can use it for database management in DBOS apps. Personally, I like Drizzle because it's lightweight and
Tweet media one
1
4
15
@petereliaskraft
Peter Kraft
19 days
Just released DBOS v1.20! The big new feature is support for @DrizzleORM --you can how use Drizzle for data management in DBOS apps. Big shout-out to our community for suggesting it and providing early feedback and contributions! We've also fixed a number of bugs and streamlined
Tweet media one
0
2
12
@petereliaskraft
Peter Kraft
26 days
Just released DBOS Transact v1.19! Some pretty cool features in this one. First, a community contribution: support for durable timeouts. Now, when your application sleeps or awaits an event with a timeout, it records its intended wake-up time in the database. That way, even if
Tweet media one
0
4
13
@petereliaskraft
Peter Kraft
2 months
Love this take! 📢 A big motivation for DBOS is to make the incredible power of modern databases more accessible to developers.
@eatonphil
Phil Eaton
2 months
Databases are the pragmatic intersection and application of all the fundamental topics in CS. Algorithms and data structures, distributed systems, PL and compilers, operating systems, hardware, etc.
17
86
1K
0
1
12
@petereliaskraft
Peter Kraft
2 months
Trying something new: tweeting @DBOS_Inc development to share cool things we're building! Today's PR: This allows querying workflow history. DBOS stores this info in its system database, users requested it to build observability APIs for their apps.
0
5
10
@petereliaskraft
Peter Kraft
1 month
Just released DBOS Transact v1.18! This release contains a number of bugfixes and DX improvements, including pagination for workflow history queries and more consistent behavior for unset environment variables.
Tweet media one
0
1
9
@petereliaskraft
Peter Kraft
2 months
Announcing v1.16 of DBOS Transact and DBOS Cloud! 📢📢📢 The biggest new feature is a workflow management CLI, allowing you to view your active and historical workflows and cancel, resume, and restart workflows. We've also added several community-requested features and fixes,
Tweet media one
0
2
9
@petereliaskraft
Peter Kraft
12 days
Just released DBOS v1.21! 🚀 This time, we put a lot of work into making your first deploy easier! Just run `npx dbos-cloud app deploy` on a fresh DBOS app and it guides you through the process of logging in and selecting a database before deploying your app. We also fixed a
Tweet media one
0
1
10
@petereliaskraft
Peter Kraft
2 months
I'd like to share a PR I'm excited about: a workflow management interface. We've heard users ask for more visibility into what operations their applications are running. Luckily, the architecture of DBOS makes this simple because workflows record their history in the database.
Tweet media one
0
1
7
@petereliaskraft
Peter Kraft
2 months
@Guiltybyst40711 Yes, absolutely, although there's been some recent work on that--for example, CockroachDB now supports stored procedures:
0
0
7
@petereliaskraft
Peter Kraft
1 month
Check out the new cloud console! Lets you manage your databases and applications directly from the web. Lots more features coming soon, including workflow visualization and github integration.
Tweet media one
0
2
7
@petereliaskraft
Peter Kraft
2 months
Excited to release v1.15 of DBOS Transact! 📢 Some cool new features include: - A new API to query workflow history. - Pluggable event receivers, so developers can extend DBOS with support for more workflow triggers (SQS support coming soon). - A dead letter queue to quarantine
Tweet media one
0
2
6
@petereliaskraft
Peter Kraft
2 months
When we architected DBOS, we optimized it for this kind of I/O-bound/stateful application. For example, DBOS multiplexes concurrent requests for the same application to the same execution environment and autoscales execution environments with load. We found this improves resource
0
0
6
@petereliaskraft
Peter Kraft
20 days
@basilyusuf1709 @danrkports Unfortunately it's hard to find an explanation of it that's more readable than the original papers are. This wiki page has some more current Postgres-specific detail:
1
0
5
@petereliaskraft
Peter Kraft
1 month
Just released to the DBOS Cloud console: A workflow overview page! You can now see in real time what workflows your app is processing.
Tweet media one
0
0
5
@petereliaskraft
Peter Kraft
11 days
Just finished the first demo app for DBOS Python! Every hour, search Hacker News for people commenting on a topic and post the comments to Slack. Entire app is <60 lines of code, and you can serverlessly deploy it to the cloud in one command.
Tweet media one
1
1
11
@petereliaskraft
Peter Kraft
1 month
Want to build reliable Kafka applications? Check out this video! It shows you how to use DBOS to build and deploy a Kafka consumer that processes each event exactly-once.
@DBOS_Inc
DBOS, Inc
1 month
Need exactly once processing of #ApacheKafka events? Open source DBOS Transact makes it effortless. Useful in transactional pipelines connecting e-commerce to ERP, CRM, & other exactly-once use cases. Build Kafka consumers faster, better! @apachekafka
0
4
5
0
0
5
@petereliaskraft
Peter Kraft
2 months
@MarcJBrooker Thanks a lot for open-sourcing it! It's doing a lot for us.
0
0
5
@petereliaskraft
Peter Kraft
2 years
Excited to share that I'm presenting at #NSDI22 our newest work on making it easier to build systems serving data-parallel low-latency queries:
0
1
4
@petereliaskraft
Peter Kraft
14 days
@kdhrubo They've been around for decades! But they're incredibly important, so improving them is a constant priority.
0
0
4
@petereliaskraft
Peter Kraft
2 months
@gabe_guerra_ @nsubugakasozi Yeah, exactly Gabriel! In our experience, most interruptions are transient, due to anything from a network hiccup to a software upgrade requiring a restart. DBOS handles those seamlessly, so you can develop without thinking about transient interruptions at all. For more serious
0
0
3
@petereliaskraft
Peter Kraft
2 months
Reviewing this mega-PR from the amazing @DevHawk : a compiler from TypeScript to Postgres stored procedures (leveraging plv8). This is incredibly cool--soon, you'll be able to seamlessly run application code inside your Postgres database, improving performance ~3-4x. Stay tuned!
Tweet media one
0
2
3
@petereliaskraft
Peter Kraft
2 months
@rosikand @andy_pavlo Back when I TA'ed CS245, it was more focused on analytics, OLAP, and distributed databases. Not sure how it is now that Matei's moved.
0
0
2
@petereliaskraft
Peter Kraft
2 months
@Kveykva Agreed--this is one of the things we're working on, emitting your SP logs as part of your app logs so your logging infra can pick it up.
1
0
3
@petereliaskraft
Peter Kraft
2 months
Check out this blog post! The idea is you can get serverless, cron-like scheduling for your applications with an exactly-once guarantee. This lets you write a workflow that's guaranteed to run once an hour, day, year, or anything in between.
@DBOS_Inc
DBOS, Inc
2 months
Create & host fault-tolerant 🕑 #cron jobs for free? 🎉 Use the 'Scheduled' 🕒 function in the #DBOS Transact framework for #TypeScript to define recurring durable workflows. Host and run them for free on DBOS Cloud. Here's how:
0
2
5
0
0
2
@petereliaskraft
Peter Kraft
2 months
@gabe_guerra_ It's really confusing! Especially when you're doing a distributed database, where C-as-in-CAP is the interesting tradeoff space but people expect C-as-in-ACID because it's a database.
0
0
2
@petereliaskraft
Peter Kraft
17 days
Check this out! @DevHawk 's work is very cool--make your application 2-3x faster by compiling its code to stored procedures and running it inside the database.
@DBOS_Inc
DBOS, Inc
17 days
Final reminder: webcast today 11AM Pacific: "Stored Procedures: The Good, The Bad, and The Elegant" with DBOS engineer, Harry Pierson. Learn one of the ways DBOS makes backends faster and easier to build. Hope to see you there! #PostgreSQL #AWS
0
3
4
0
0
2
@petereliaskraft
Peter Kraft
11 days
Check out the full app here:
0
0
3
@petereliaskraft
Peter Kraft
2 months
@KAalderks Agreed, especially for papers that have stood the test of time (which are usually the first ones you'll read).
0
0
1
@petereliaskraft
Peter Kraft
25 days
@andrii_sherman @DrizzleORM You all built an awesome project!
0
0
1
@petereliaskraft
Peter Kraft
2 months
@CAFxX Yeah, that take makes sense, the biggest pain point is how hard they are to debug/maintain. Portability is a concern I hear a lot, but that goes well beyond SPs like you said.
1
0
1