15 futuristic databases you’ve never heard of

Fireship
8 Feb 202308:42

Summary

TLDRこのビデオスクリプトでは、テック業界で成功するための速い動きと、物事を壊すことの重要性について語られています。その中で、1970年代の技術であるSQLがいかに現代のビッグデータの世界の基盤を形成しているか、そしてOracleやMySQLなどがどのように企業やプラットフォームを支配しているかを解説します。さらに、PlanetScaleやYugaByte、Neonなど、既存の関係データベースのパターンを基にしたものから、全く新しいアイデアを提供する15の革新的なデータベースについて紹介し、それぞれが解決しようとしている問題に焦点を当てています。このスクリプトは、最新のデータベース技術の進化と、それがどのようにテック業界に新たな可能性をもたらしているかを探求しています。

Takeaways

  • 🤯 PlanetScale offers a serverless MySQL platform
  • 🌟 Yugabyte and Neon provide serverless Postgres options
  • 📝 DoltDB integrates database with Git version control
  • 🦞 CockroachDB is a distributed SQL database built on Go
  • ☁️ Cloudflare D1 runs SQL database on the edge
  • 💪 Zeta combines Postgres and Elasticsearch
  • 🔗 EightBase offers GraphQL API and low-code frontends
  • 🕸 EdgeDB is a graph-relational database
  • 🌠 Fauna is a multi-model database with joins and GraphQL
  • 🤖 MindsDB integrates machine learning models into SQL

Q & A

  • PlanetScaleはどのような技術に基づいていますか?

    -PlanetScaleは、MySQLを水平方向にスケーリングするためのライブラリであるVitessに基づいています。

  • YugaByteの目標は何ですか?

    -YugaByteの目標は、クラウドで無限にスケールすることを目指しながら、Postgresのネイティブ機能を全てサポートすることです。

  • Neonデータベースの特徴は何ですか?

    -Neonはサーバーレスで、ゼロまでスケールダウンでき、高度に磨かれた管理ダッシュボードを持ち、Rustで書かれています。

  • Doltデータベースのユニークな機能は何ですか?

    -Doltは、MySQLとGitの機能を組み合わせたデータベースで、データのブランチ作成や変更のマージが可能です。

  • CockroachDBの開発者はどのような背景を持っていますか?

    -CockroachDBは、元Google社員によって開発されました。

  • Cloudflare D1の特異なアプローチは何ですか?

    -Cloudflare D1は、データベース内で直接実行されるJavaScriptで書かれたストアドプロシージャを使用して、トランザクションの制限を克服しています。

  • Zetaデータベースが特別な理由は何ですか?

    -Zetaは、データをスプレッドシートのように扱い、フルテキスト検索を内蔵しているため、データを他のサービスに複製する必要がありません。

  • Edge DBはどのようにしてデータベースのクエリを簡素化しますか?

    -Edge DBは、オブジェクト間の関係をグラフのように扱い、結合の必要性をなくして、クエリを簡素化します。

  • Faunaデータベースの独特な機能は何ですか?

    -Faunaは、ドキュメントデータベースの使いやすさと、複雑な関係データに適したネイティブジョインのサポートを組み合わせています。

  • MindsDBはどのようにしてデータベースを革新していますか?

    -MindsDBは、AIテーブルを使用して機械学習モデルをデータベースに直接組み込み、クエリを使用してモデルの訓練と予測を行うことができます。

Outlines

00:00

Introducing innovative new databases

The paragraph discusses several new databases that aim to improve on traditional SQL databases by scaling better, having nicer interfaces, integrating machine learning models, etc.

05:02

Graph databases for more flexible data modeling

The paragraph highlights graph databases like EdgeDB and SurrealDB that allow more intuitive data modeling based on connections between data types rather than strict tables and joins.

Mindmap

Keywords

💡リレーショナルデータベース

従来のSQLベースのデータベース。 YouTubeやFacebookなどのプラットフォームの中核を支えているが、スケーラビリティに課題がある。PlanetscaleやDoltなどの新しいクラウドネイティブのデータベースがこれに代わろうとしている。

💡スケーラビリティ

データベースが大規模なトラフィックに対応できる性能。YouTubeがVitessを開発した背景にある主要な課題の1つ。サーバーレスアーキテクチャや水平スケーリングなどのアプローチで解決しようとしている。

💡Dolt

Gitのブランチ・マージ機能を取り入れたリレーショナルデータベース。データの変更履歴を容易に追跡、解析できる。

💡クラウドネイティブ

パブリッククラウドを前提としたアプリケーション設計・開発手法。スケーラビリティや信頼性を高めることに焦点。PlanetscaleやServerless Postgresなどが該当。

Highlights

Planetscale provides a fully managed MySQL database that can scale horizontally

YugabyteDB is an open source database that can scale PostgreSQL infinitely in the cloud

NeonDB is a serverless PostgreSQL database written in Rust that can scale to zero

DoltDB combines MySQL and Git to allow branching experimental database changes

CockroachDB is a distributed SQL database built to scale horizontally in the cloud

Cloudflare D1 is a lightweight SQL database for the edge that runs JavaScript transactions

ZetaDB is like a developer-friendly Airtable, combining PostgreSQL and Elasticsearch

EdgeDB is a graph-relational hybrid database for PostgreSQL with intuitive data modeling

SurrealDB combines SQL, document, and graph models with horizontal scaling written in Rust

FaunaDB supports joins and transactions like SQL with flexible schema like MongoDB

Memgraph is a graph database alternative to Neo4j focused on real-time analytics

KeyDB is an ultrafast Redis-compatible in-memory database for caching

MeiliSearch is an open source search engine written in Rust as an alternative to Elasticsearch

MindsDB integrates machine learning workflows directly into a database via AI Tables

The database landscape is rapidly evolving with many new and innovative options

Transcripts

play00:00

if you want to be successful in Tech you

play00:01

need to move fast and break things

play00:03

that's exactly what I said to my boss

play00:05

before he fired me for deleting a

play00:06

production database I should fire

play00:09

the relational database management

play00:11

system is one of the most successful

play00:13

ideas in the history of computing SQL is

play00:15

1970s Tech that still forms the backbone

play00:18

of the modern Big Data World Oracle

play00:19

dominates Enterprise while MySQL is the

play00:22

primary database for platforms like

play00:23

YouTube and Facebook but SQL is by no

play00:25

means perfect in 2023 there's a whole

play00:28

new wave of futuristic Cutting Edge

play00:29

avant-garde game changing databases

play00:31

looking to move fast and break things

play00:33

some of them build on top of existing

play00:34

relational patterns While others bring

play00:36

entirely new ideas to the table that

play00:38

you've never seen before no pun intended

play00:39

over the next few minutes we'll look at

play00:41

15 crazy ass new databases and talk

play00:43

about the problems they're trying to

play00:45

solve first on the list we have Planet

play00:46

scale which is not a new database but

play00:48

rather a serverless platform for MySQL

play00:50

like I mentioned before YouTube uses

play00:52

MySQL however back in 2010 when it was

play00:55

getting popular it was extremely

play00:56

difficult to scale at least for an app

play00:58

with millions of simultaneous

play00:59

connections instead of switching to a

play01:01

nosql document database they developed a

play01:03

library called Vitas which makes some

play01:05

trade-offs to scale MySQL horizontally

play01:07

and this is the technology that planet

play01:09

scales based on it provides a fully

play01:11

managed database that can scale with

play01:12

vtas and makes it available from a nice

play01:14

dashboard with sdks to go along with it

play01:16

and it also integrates nicely with tools

play01:18

like Prisma it has a free tier and good

play01:20

pricing on the page here that they're

play01:22

likely losing money on by comparison a

play01:24

basic database on Heroku is 50 bucks and

play01:26

it's unreasonably expensive on AWS and

play01:28

Google Cloud Planet scale is not the

play01:30

only company with this serverless

play01:31

database idea though yoga byte has its

play01:33

own open source solution for postgres

play01:35

its goal is to scale infinitely in the

play01:37

cloud but attempt to support all the

play01:39

native features in postgres which is not

play01:40

easy to do in a cloud native environment

play01:42

you can actually use a multi-cloud

play01:44

strategy to host your database on

play01:46

multiple clouds at the same time

play01:47

eliminating the dreaded vendor lock-in

play01:49

issue but there's another option for

play01:51

scaling postgres called neon it's

play01:53

currently in technical preview but looks

play01:54

extremely promising it's serverless and

play01:56

can scale down to zero and has a highly

play01:58

polished admin dashboard to go along

play01:59

with it and most importantly it's

play02:01

written in Rust which is the only thing

play02:02

that matters if you want to look cool in

play02:04

front of your friends it also supports

play02:05

branching which I think was inspired by

play02:07

another database called dolt this

play02:09

database would be like give MySQL and

play02:11

git had a baby most importantly it

play02:13

allows you to create branches from the

play02:15

main database where you can experiment

play02:16

with new data without breaking things it

play02:18

makes it easy to analyze the diff

play02:19

between changes and when everything

play02:21

looks good the changes can be merged

play02:23

back into the main branch and it's done

play02:25

with the same conventions found in git

play02:26

that virtually every developer is

play02:28

familiar with dolt has a hosted option

play02:29

but it is quite expensive they've raised

play02:31

21 million dollars and because I'm

play02:33

extremely entitled I demand they burn

play02:34

more of this money to give us a free

play02:36

tier I just paid eight dollars for a

play02:37

dozen eggs and can't afford to put

play02:39

another fifty dollars on my mom's credit

play02:40

card now another sequel flavor I want to

play02:42

talk about is cockroachdb it's been

play02:44

around for quite a while and was

play02:45

developed by ex Google employees and is

play02:47

often referred to as new SQL it's

play02:49

compatible with postgres but was built

play02:51

from the ground up with go to scale

play02:53

horizontally in the cloud it has a nice

play02:55

free tier pretty similar to Planet scale

play02:57

then becomes pay as you go pricing after

play02:59

that it's yet another great option but

play03:01

you might also want to consider

play03:02

Foundation DB or titanium DB as well

play03:04

which are also in this new SQL class but

play03:07

in some cases you might prefer a

play03:08

lightweight alternative like cloud flare

play03:10

D1 this is a brand new product that's

play03:12

still in beta and basically it's a SQL

play03:14

Lite database that runs on the edge

play03:15

cloudflare already has its own key value

play03:17

store for workers as well as R2 for

play03:19

object storage but D1 allows you to

play03:22

create data on the edge that can be

play03:23

queried one trade-off though is that

play03:25

native transactions will not work

play03:27

however they're taking a very cool

play03:28

approach to overcome that limitation by

play03:30

allowing developers to write stored

play03:32

procedures with JavaScript which are

play03:33

just Snippets of code that run directly

play03:35

in your database which can be used to

play03:36

create transactions or other reusable

play03:38

queries this approach has a ton of

play03:40

potential because historically store

play03:42

procedures are a pain to work with but

play03:43

if it's in JavaScript even I could do it

play03:45

pretty cool but it's not production

play03:46

ready yet if you want something that's

play03:48

ready to go today check out Zeta yet

play03:50

another serverless relational database

play03:52

that's based on postgres and

play03:53

elasticsearch under the hood but what

play03:55

makes it special is that it treats your

play03:57

data like a spreadsheet it feels kind of

play03:59

like a developer friendly alternative to

play04:00

airtable or notion and what's really

play04:02

awesome is that it has full text search

play04:04

built in without needing to duplicate

play04:06

your data in some other service like

play04:07

algolia it has sdks for typescript in

play04:10

Python and has a schema editor that

play04:12

makes it very easy to create and

play04:13

visualize relationships between tables

play04:15

and it can also do branching like we

play04:17

looked at in adult DB for pricing it has

play04:19

a solid free tier then it scales up in a

play04:21

linear way based on usage but another

play04:23

tool that takes things one step further

play04:25

is eight base it's also a relational

play04:27

database that provides a graphql API for

play04:29

your data out of the box making it

play04:31

similar to tools like hasura what makes

play04:33

it unique though is that it also comes

play04:35

with a low code tool for quickly

play04:36

building front-end applications that

play04:38

connect to your back end it's like a

play04:40

backend as a service that can also build

play04:41

your front end but that's enough talk

play04:43

about relational databases now we enter

play04:45

the post SQL ERA with Edge DB it's a

play04:48

graph relational database that's powered

play04:50

by postgres under the hood when it comes

play04:52

to relationships humans don't naturally

play04:54

think of columns and rows but rather

play04:56

objects connected to each other like a

play04:58

graph instead of defining tables like

play04:59

you would in SQL you define types like

play05:01

you would in most programming languages

play05:03

these types link to other types which is

play05:05

awesome because it eliminates the need

play05:07

for joins and simplifies the way you

play05:08

make queries overall all it almost feels

play05:10

like an orm for postgres that allows you

play05:13

to think about relationships in a far

play05:14

more human friendly way currently it's

play05:16

open source and can be self-hosted but

play05:18

there's a wait list for their cloud

play05:19

service now another relational graph

play05:21

like database is surreal DB it's written

play05:23

in Rust and I have a full tutorial on my

play05:25

second Channel Beyond fireship it's

play05:27

designed to support acid transactions

play05:29

while scaling horizontally but what I

play05:31

really like about it is how easy and

play05:32

flexible it makes data modeling for the

play05:34

most part it feels like SQL but also

play05:36

uses arrows to connect nodes and edges

play05:38

like you would in Cipher with a graph

play05:40

database like neo4j it takes the best

play05:42

elements of relational document and

play05:44

graph databases and combines them into

play05:46

one easy to use API currently it can

play05:48

only be self-hosted but they do have a

play05:50

cloud service coming soon the

play05:51

multi-model idea is nothing new though

play05:53

another database pushing the limits is

play05:55

fauna it was created by X Twitter

play05:56

Engineers who set out to build the

play05:58

perfect database it's extremely easy to

play06:00

use like a document database similar to

play06:02

mongodb but unlike a document database

play06:04

it supports features like native joins

play06:06

which is the number one missing feature

play06:08

in document databases and that means

play06:10

fauna is more well suited for complex

play06:11

relational data like social graphs to

play06:14

interact with it it has its own custom

play06:15

query language called fql but also comes

play06:18

with a graphql API it is a closed Source

play06:20

product so you can't self-host it but

play06:22

its fully managed service has a nice

play06:23

free tier another new database you've

play06:25

likely never heard of is memograph it's

play06:27

a drop in replacement for neo4j which is

play06:29

the gold standard for graph databases

play06:31

but memgraph is focused on building

play06:33

real-time data pipelines like neo4j it

play06:36

can be queried with Cipher but it's

play06:37

written in C plus with a memory first

play06:39

architecture that claims to achieve

play06:41

better performance overall it looks like

play06:43

it would be a great choice for building

play06:44

something like a real-time analytics

play06:46

platform next up we'll look at Key DB

play06:48

which is a faster alternative to the

play06:50

already extremely fast redis it was

play06:52

recently acquired by snap a company that

play06:54

needs to fetch data as fast as humanly

play06:56

possible it can handle over 1 million

play06:58

operations per second on a single node

play07:00

which sounds like a lot to me but it's

play07:02

not something you would use as your

play07:03

primary database rather it's mostly used

play07:05

as an in-memory cache to duplicate high

play07:07

priority data from another database

play07:09

making it load faster for the end user

play07:11

it also has a library called mod.js

play07:13

allowing you to extend the database with

play07:15

your own custom commands and

play07:16

functionality with JavaScript another

play07:18

specialty database to look into is melee

play07:20

search the full text search engine space

play07:22

is dominated by tools like elasticsearch

play07:24

and algolia a melee search is an open

play07:26

source rust-based alternative that makes

play07:28

it easy to implement an awesome search

play07:30

feature into your app it's not a primary

play07:32

database but instead a place where you

play07:34

would duplicate data that needs to be

play07:35

searchable in complex ways like you can

play07:37

fine-tune different parameters to

play07:39

control which attributes have a higher

play07:41

ranking in the search in addition it has

play07:42

a bunch of client libraries like instant

play07:44

melee search that can quickly Implement

play07:46

a search feature in a front-end web

play07:48

application and finally that brings us

play07:50

to mindsdb a database that integrates

play07:52

popular machine learning Frameworks it

play07:54

created a concept called AI tables that

play07:56

embed predictive models directly into

play07:58

the database at first glance it feels

play08:00

like SQL except you can use it to write

play08:02

statements that train machine learning

play08:04

models when the model is done training

play08:05

you can then use select to make

play08:07

predictions from it so basically it

play08:09

provides an into integrated way to

play08:10

handle the ml Ops life cycle and it can

play08:12

also integrate with your existing

play08:14

machine learning models or those from

play08:15

third parties like hugging face or open

play08:17

AI in the not so distant future I

play08:19

believe in betting AI directly into

play08:21

databases will be a huge thing and

play08:22

mindsdb gives you an idea of how that

play08:24

could look and now you have 15 different

play08:26

futuristic databases to choose from for

play08:28

your next failed side project good luck

play08:30

with that if I missed anything let me

play08:32

know in the comments and if you want to

play08:33

learn more about awesome serverless

play08:34

databases like firestore and superbase

play08:36

support my work as a pro member on

play08:38

fireship iO thanks for watching and I

play08:40

will see you in the next one

Rate This

5.0 / 5 (0 votes)

Do you need a summary in English?