DBM — це бібліотека формат файлів, та база даних типу ключ-значення з оригінального Unix. dbm є раннім прикладом NoSQL бази даних.
Історія
Оригінальний формат файлів dbm є простою базою даних. Формат файлу та бібліотека для роботи з ним був розроблений Кеном Томпсоном, та випущена у 1979 році. Назва DBM походить від англ. DataBase Manager. Також dbm називають інші бази, сумісні з оригінальною версією.
Бібліотека dbm зберігає довільні дані у сегментах фіксованого розміру, та адресує за допомогою первинного ключа. Для швидкого пошуку використовує техніку хеш-таблиць. Для динамічної зміни розміру бази використовується метод хешування. Це означає що коли до бази даних додаються нові сегменти, діапазон хешів ключів розширюється. dbm зберігає дані на диску, робота з базою реалізується як бібліотека. Для одночасної роботи декількома процесами існував агент — серверний демон, який може обробляти запити. Але для взаємодії він використовував IPC.
Реалізації
Оригінальна бібліотека dbm AT&T була замінена багатьма іншими сумісними реалізаціями. Серед відомих прикладів:
- ndbm (new dbm), заснований на оригінальному dbm з деякими новими функціями.
- GDBM («GNU dbm»), бібліотека реалізована проєктом GNU. Реалізує функції ndbm та має власний інтерфейс. Також надає нові функції: стійкість до збоїв для забезпечення узгодженості даних.
- sdbm («small dbm»), переписана як суспільне надбання dbm. Бібліотека є частиною стандартного дистрибутиву для Perl, також реалізована як зовнішня бібліотека для Ruby.
- qdbm (Quick Database Manager — Швидкий менеджер баз даних), реалізація dbm, головною метою якої була висока продуктивність. Написана Mikio Hirabayashi, автором майбутніх Tokyo/Kyoto Cabinet
- tdb («Trivial Database»), проста база даних, яка використовується Samba. Має API на основі gdbm.
- Berkeley DB, 1991 заміна ndbm програмним забезпеченням Sleepycat (нині Oracle), створеним для обходу авторських прав AT&T Unix на BSD. Він має багато розширень, таких як паралелізм, контроль транзакцій, хешування та зберігання B-дерева.
Примітки
- Crash Tolerance. GDBM manual. Процитовано 3 жовтня 2021.
- Crashproofing the Original NoSQL Key-Value Store. Процитовано 3 жовтня 2021.
- yigit, ozan. sdbm.bun. cse.yorku.ca. Процитовано 8 травня 2019.
- Ruby SDBM library. SDBM on Github.
Note that Ruby used to ship SDBM in the standard distribution up until version 2.7, after which it was made available only as an external library, similarly to the DBM and GDBM libraries, removed from the standard library in Ruby 3.1.
- . fallabs.com. 2006. Архів оригіналу за 27 лютого 2020. Процитовано 27 лютого 2020.
- tdb: Main Page. tdb.samba.org.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
DBM ce biblioteka format fajliv ta baza danih tipu klyuch znachennya z originalnogo Unix dbm ye rannim prikladom NoSQL bazi danih IstoriyaOriginalnij format fajliv dbm ye prostoyu bazoyu danih Format fajlu ta biblioteka dlya roboti z nim buv rozroblenij Kenom Tompsonom ta vipushena AT amp T u 1979 roci Nazva DBM pohodit vid angl DataBase Manager Takozh dbm nazivayut inshi bazi sumisni z originalnoyu versiyeyu Biblioteka dbm zberigaye dovilni dani u segmentah fiksovanogo rozmiru ta adresuye za dopomogoyu pervinnogo klyucha Dlya shvidkogo poshuku vikoristovuye tehniku hesh tablic Dlya dinamichnoyi zmini rozmiru bazi vikoristovuyetsya metod heshuvannya Ce oznachaye sho koli do bazi danih dodayutsya novi segmenti diapazon heshiv klyuchiv rozshiryuyetsya dbm zberigaye dani na disku robota z bazoyu realizuyetsya yak biblioteka Dlya odnochasnoyi roboti dekilkoma procesami isnuvav agent servernij demon yakij mozhe obroblyati zapiti Ale dlya vzayemodiyi vin vikoristovuvav IPC RealizaciyiOriginalna biblioteka dbm AT amp T bula zaminena bagatma inshimi sumisnimi realizaciyami Sered vidomih prikladiv ndbm new dbm zasnovanij na originalnomu dbm z deyakimi novimi funkciyami GDBM GNU dbm biblioteka realizovana proyektom GNU Realizuye funkciyi ndbm ta maye vlasnij interfejs Takozh nadaye novi funkciyi stijkist do zboyiv dlya zabezpechennya uzgodzhenosti danih sdbm small dbm perepisana yak suspilne nadbannya dbm Biblioteka ye chastinoyu standartnogo distributivu dlya Perl takozh realizovana yak zovnishnya biblioteka dlya Ruby qdbm Quick Database Manager Shvidkij menedzher baz danih realizaciya dbm golovnoyu metoyu yakoyi bula visoka produktivnist Napisana Mikio Hirabayashi avtorom majbutnih Tokyo Kyoto Cabinet tdb Trivial Database prosta baza danih yaka vikoristovuyetsya Samba Maye API na osnovi gdbm Berkeley DB 1991 zamina ndbm programnim zabezpechennyam Sleepycat nini Oracle stvorenim dlya obhodu avtorskih prav AT amp T Unix na BSD Vin maye bagato rozshiren takih yak paralelizm kontrol tranzakcij heshuvannya ta zberigannya B dereva PrimitkiCrash Tolerance GDBM manual Procitovano 3 zhovtnya 2021 Crashproofing the Original NoSQL Key Value Store Procitovano 3 zhovtnya 2021 yigit ozan sdbm bun cse yorku ca Procitovano 8 travnya 2019 Ruby SDBM library SDBM on Github Note that Ruby used to ship SDBM in the standard distribution up until version 2 7 after which it was made available only as an external library similarly to the DBM and GDBM libraries removed from the standard library in Ruby 3 1 fallabs com 2006 Arhiv originalu za 27 lyutogo 2020 Procitovano 27 lyutogo 2020 tdb Main Page tdb samba org