Alternatif tanpa server untuk database tradisional

DBMS terdistribusi modern harus dapat mendukung berbagai jenis beban kerja, memenuhi kebutuhan pengguna yang sama sekali berbeda. Database Yandex memungkinkan tidak hanya menyimpan petabyte data, mendukung pemrosesan jutaan permintaan per detik, tetapi juga menyediakan mode komputasi tanpa server. Platform ini memungkinkan untuk melayani proyek dengan berbagai jenis beban kerja: nilai kunci, aplikasi web tradisional berdasarkan database relasional, serta database dokumen.





Komputasi tanpa server saat ini digunakan di berbagai bidang - mulai dari membuat bot obrolan dan aplikasi IoT hingga API mandiri untuk mengakses layanan melalui HTTP. Platform untuk menerapkan komputasi tanpa server tersedia baik dari sebagian besar penyedia cloud (Yandex Cloud Functions, Amazon Web Services Lambda, Google Functions) dan komunitas Open Source.





Transisi dari server "besi" ke virtualisasi dan penampung pada satu waktu menyebabkan munculnya budaya DevOps, kelahiran Infrastruktur sebagai pendekatan Kode, memberikan kesempatan untuk mencurahkan lebih banyak waktu untuk tugas bisnis, daripada pemeliharaan infrastruktur. Selain itu, "pajak" infrastruktur yang agak tinggi, yang harus dibayar oleh pengguna tanpa disadari, berkurang.





Pindah ke era  komputasi tanpa server — , , , , . -. . , , , , , «-» . , , . , , .





, , . , S3, , . take or pay: ( ), , . , ? ?





Yandex Database

:





  • – , .





  • , 2020 5 , 60% .





  • ,   .





  • IoT- .





  • ,   – , .





2008 - «» : , , . , . , , .





, , — (), . , , . .





2011 , KiWi , . KiWi — «-» , . . KiWi . . : TTL (Time To Live), . , 600 . : Cassandra .





. , (eventual consistency). , , KiWi : , .





, KiWi, — , , . .   , , .





, , , «-». :





  • — ;





  • serializable ;





  • ACID- , , ;





  • ;





  • ;





  • (multitenancy);





  • — .





. , : , , . , , — . , , , , , , . . . Yandex Database (YDB), .





YDB

YDB : . — , , , . — . (primary key), . , .





Yandex Database — ( «-»), .





YQL API, YDB OLTP- , SQL- (join). «-» YDB (Document API) Amazon DynamoDB API — , AWS SDK AWS CLI.





, , , JSON- . Yandex Database JsonAPI, JSON — JsonDocument, JsonPath . JsonAPI, .





YDB

YDB – , . . . , , – . , , .





— , «-» , . , , , .





— , , , , . Yandex Database . — , «» . YDB — -, , «» , , .





Yandex Database .





(Distributed storage), , () (snapshots). Distributed storage — «» (Binary Large Object — ), , , .





Network Interconnect — , . Yandex Database TCP. , .





Yandex Database , ACID , ( ), .





, , (2PC), , Yandex Database (deterministic transactions). serializable Calvin: , , , . , . , , , .





Yandex Database YQL (Yandex Query Language) — SQL : list, tuple, struct, dict. SQL.





Query Processor — YQL-. YQL (DAG) . , . .





— gRPC proxy. gRPC ( , Google). YDB API , SDK Yandex Database.





YDB

, , , . . Yandex Database — 1–2 .     — . , — . 100 , , . , , . , , . .





Yandex Database , «», , , -.





(request unit) — . , , . YDB Free Tier: request units , . , , .





. - , (Object Storage), . , , - .





, YDB

Auto.ru « ». . , . Yandex.Cloud — Yandex Cloud Functions , . «» , , . Yandex Database . 100 . . Auto.ru - , .





, Auto.ru, Yandex Database «», «.», «.», «.», «.», «.», «.», «.», «.» .





, .





Yandex Database . , , : -; -, SQL; ; JSON API .





Detail lebih lanjut dapat ditemukan di Komunitas Yandex Serverless Ecosystem dan Yandex Database Chat di Telegram. 





Kami sedang merencanakan serangkaian artikel tentang struktur internal Basis Data Yandex, tulis di komentar topik mana yang paling menarik.








All Articles