Drizzle (serwer bazy danych) - Drizzle (database server)
| Deweloper (y) | Brian Aker i inni |
|---|---|
| Wersja ostateczna | 7.2.4 / 23 września 2012
|
| Napisane w | C ++ |
| System operacyjny | Wieloplatformowy POSIX |
| Dostępne w | Angielski , wraz z tłumaczeniami GNU Gettext na 43 inne języki |
| Rodzaj | System zarządzania bazą danych |
| Licencja | Przede wszystkim GNU General Public License w wersji 2 i 3, z niektórymi komponentami BSD |
| Stronie internetowej | www |
Drizzle to wycofany darmowy program / system zarządzania relacyjnymi bazami danych (DBMS) o otwartym kodzie źródłowym, który został rozwidlony z nieistniejącej już gałęzi rozwojowej 6.0 MySQL DBMS.
Podobnie jak MySQL, Drizzle miał architekturę klient / serwer i używa SQL jako podstawowego języka poleceń . Stare pliki Drizzle są rozpowszechniane na podstawie wersji 2 i 3 Powszechnej Licencji Publicznej GNU (GPL) z częściami, w tym sterownikami protokołów i wiadomościami replikacji na licencji BSD .
Wczesne prace nad widelcem zostały wykonane w połowie 2008 roku przez Briana Akera . Bieżący rozwój był obsługiwany przez zespół współpracowników, w skład którego wchodzili pracownicy firmy Canonical Ltd. , Google , Six Apart , Sun Microsystems , Rackspace , Data Differential, Blue Gecko, Intel , Percona , Hewlett-Packard , Red Hat i inni. Kod źródłowy Drizzle, wraz z instrukcjami dotyczącymi jego kompilacji, są dostępne na stronie projektu Launchpad .
W październiku 2010 Drizzle miał 13 478 wszystkich wkładów, łącznie 96 współpracowników i 37 aktywnych. Ogłoszono również, że Drizzle weszła do Beta. Pierwsza wersja GA została wydana w marcu 2011. Drizzle aktywnie uczestniczy w projekcie Google Summer of Code od 2010 roku.
Pod koniec 2013 r. Aktywna faza projektu dobiegła końca. W lipcu 2016 roku opiekunowie doszli do wniosku, że nadszedł czas na „oficjalne zakończenie sprawy”, ponieważ „nikt z nas nie ma już czasu, aby poświęcić się Drizzle”.
Używa
Drizzle jest ukierunkowany na rynki infrastruktury internetowej i przetwarzania w chmurze . Twórcy produktu opisują go jako „mniejszą, szczuplejszą i (miejmy nadzieję) szybszą wersję MySQL”.
Platformy i interfejsy
Drizzle jest napisany w języku programowania C ++ i przechowuje swoje dane łańcuchowe w formacie UTF-8 . Jest rozwijany dla nowoczesnych systemów operacyjnych typu Unix , w tym Linux , FreeBSD , Mac OS X i Solaris - ogólnie, dla każdego systemu operacyjnego, który jest zgodny z POSIX i ma działającą implementację GNU Autotools . Microsoft Windows nie jest obecnie obsługiwany, głównie z powodu braku obsługi Autotools, ale dyskutowano, jak to osiągnąć w rozsądny sposób.
funkcje
Drizzle to przeprojektowana wersja bazy kodu MySQL v6.0 i została zaprojektowana w oparciu o główną koncepcję posiadania architektury mikrojądra . Funkcje takie jak pamięć podręczna zapytań i system uwierzytelniania są teraz wtyczkami do bazy danych, które są zgodne z ogólnym motywem „podłączanych silników pamięci masowej”, które zostały wprowadzone w MySQL 5.1. Obsługuje PAM , LDAP i HTTP AUTH do uwierzytelniania za pośrednictwem dostarczanych wtyczek. Za pośrednictwem systemu wtyczek wspiera obecnie rejestrowanie do plików, syslog i usług zdalnych, takich jak RabbitMQ i Gearman . Drizzle to relacyjna baza danych zgodna z ACID, która obsługuje transakcje za pośrednictwem projektu MVCC .
Mikrojądro
Dodano punkty wtyczek w celu obsługi replikacji , silników pamięci masowej , przepisywania zapytań, funkcji tabel, funkcji zdefiniowanych przez użytkownika , adapterów protokołów i wielu pamięci podręcznych zapytań.
Indeksy
Podobnie jak MySQL, Drizzle obsługuje jednocześnie wiele silników. Dzięki temu Drizzle zawiera wbudowaną obsługę drzewa B + i indeksów hash . Planer zapytań Drizzle jest w stanie używać wielu indeksów, z wielu silników do obsługi złożonych zapytań, używając tymczasowych operacji indeksowania bitmapy w pamięci .
Wyzwalacze
Wyzwalacze bazy danych w Drizzle są obsługiwane dla DML , DDL i wielu dodatkowych operacji opartych na zdarzeniach na serwerze. System przesyłania strumieniowego PrimeBase BLOB, który umożliwia Drizzle przesyłanie strumieniowe dużych obiektów binarnych (BLOB) przez HTTP, korzysta z tego systemu. Obecnie wszystkie wyzwalacze Drizzle muszą być napisane w C ++.
Przepisywanie zapytania
Każde zapytanie można dopasować i przepisać dynamicznie, które jest wysyłane do serwera. Ta akcja jest wykonywana przed wykonaniem analizy .
Typy danych
Obsługiwanych jest wiele natywnych typów danych , w tym:
- Macierze o zmiennej długości (w tym typy tekstowe i złożone) o łącznej wielkości do 4 GB
- Liczby o dowolnej precyzji
- Wyliczone typ (enum), że obecne podpory 10000 rodzaje
Dynamiczny SQL
Dzięki wsparciu polecenia EXECUTE, Drizzle może obsługiwać dynamiczne, złożone z wielu instrukcji SQL. Poprzez słowo kluczowe CONCURRENT może obsługiwać te instrukcje równolegle .
Replikacja
Replikacja w Drizzle odbywa się poprzez generowanie „wiadomości” przy użyciu biblioteki Google Protocol Buffers . Wiadomości te są następnie przechowywane i wykonywane na zdalnych serwerach. Format wiadomości jest formatem neutralnym dla języka SQL, który umożliwił Drizzle posiadanie aplikacji replikacji do RabbitMQ, Memcached , MySQL, Voldemort i Apache Cassandra .
Wsparcie i licencje
Drizzle jest licencjonowany w ramach drugiej i trzeciej wersji GPL, z niektórymi częściami, takimi jak biblioteka klienta libdrizzle, na licencji BSD .
Zobacz też
Bibliografia
Linki zewnętrzne
- Oficjalna strona internetowa działała do 2016 roku, http://www.drizzle.org . Kopia Waybackmachine .
- Brian Aker „Co jeśli?” artykuł na Drizzle
- Artykuł Michaela Wideniusa „Co by było, gdyby” o Drizzle
- Wywiad FLOSS z Brianem na temat przyszłego kierunku Drizzle
- „Mżawka” . Kod swobodny .