Wydanie DBMS SQLite 3.32. Projekt DuckDB rozwija wariant SQLite do zapytań analitycznych

opublikowany wydanie SQLite 3.32.0, lekki system DBMS zaprojektowany jako biblioteka wtyczek. Kod SQLite jest rozpowszechniany jako domena publiczna, tj. można z nich korzystać bez ograniczeń i bezpłatnie w dowolnym celu. Wsparcie finansowe dla programistów SQLite zapewnia specjalnie utworzone konsorcjum, w skład którego wchodzą takie firmy jak Adobe, Oracle, Mozilla, Bentley i Bloomberg.

Głównym zmiany:

  • Wdrożone przybliżone odmiana polecenia ANALYZE, która pozwala obejść się przy częściowym zbieraniu statystyk w bardzo dużych bazach danych, bez pełnego skanowania indeksów. Limit liczby rekordów podczas skanowania jednego indeksu ustala się za pomocą nowej dyrektywy „PRAGMA analiza_limit".
  • Dodano nowy wirtualny stół „kod bajtowy", który zawiera informacje nt kod bajtowy gotowe wyrażenia (przygotowane oświadczenie).
  • Dodano warstwę VFS suma kontrolna, który dodaje 8-bajtowe sumy kontrolne na końcu każdej strony danych w bazie danych i sprawdza je przy każdym czytaniu z bazy. Warstwa umożliwia wykrycie uszkodzeń bazy danych na skutek przypadkowego uszkodzenia bitów w urządzeniach pamięci masowej.
  • Dodano nową funkcję SQL iif(X,Y,Z), zwracając wartość Y, jeśli wyrażenie X jest prawdziwe, lub Z w przeciwnym razie.
  • Wyrażenia INSERT i UPDATE są teraz zawsze stosowany zamrażanie typów kolumn (powinowactwo kolumnowe) przed oceną warunków w bloku SPRAWDZ.
  • Zwiększono limit liczby parametrów z 999 do 32766.
  • Dodano rozszerzenie Sekwencja zestawiania UINT z implementacją sortowania sekwencyjnego, która uwzględnia liczby całkowite w tekście, aby posortować ten tekst w kolejności numerycznej.
  • W interfejsie wiersza poleceń do polecenia „.import” dodano opcje „-csv”, „-ascii” i „-skip”. Komenda „.dump” pozwala na użycie kilku szablonów LIKE z wyjściowym scalaniem wszystkich tabel odpowiadających określonym maskom. Dodano polecenie „.oom” do kompilacji debugowania. Dodano opcję „--bom” do poleceń „.excel”, „.output” i „.once”. Do polecenia „.filectrl” dodano opcję „--schema”.
  • Wyrażenie ESCAPE określone za pomocą operatora LIKE zastępuje teraz symbole wieloznaczne, zgodnie z zachowaniem PostgreSQL.

Dodatkowo możemy zauważyć rozwój nowego systemu DBMS KaczkaDB, która opracowuje wariant SQLite zoptymalizowany pod kątem wykonania zapytania analityczne.
Oprócz kodu powłoki z SQLite, w projekcie wykorzystano parser z PostgreSQL i komponent Date Math z MonetDB, własna implementacja funkcji okienkowych (w oparciu o algorytm Segment Tree Aggregation), wektoryzowany silnik wykonywania zapytań (w oparciu o algorytm Hyper-Pipelining Query Execution), oparty na bibliotekach procesor wyrażeń regularnych RE2, własny optymalizator zapytań i mechanizm MVCC do zarządzania jednoczesną realizacją zadań (Multi-Version Concurrency Control).
Kod projektu dystrybuowane przez na licencji MIT. Rozwój jest wciąż na etapie formacje wydania eksperymentalne.

Źródło: opennet.ru

Dodaj komentarz