Wydanie bazy danych SQLite 3.32. Projekt DuckDB rozwija wersję SQLite dla zapytań analitycznych

Opublikowano wydanie SQLite 3.32.0, lekkiej DBMS, sformatowanej jako biblioteka dołączana. Kod SQLite jest rozpowszechniany jako własność publiczna, co oznacza, że może być wykorzystywany bez ograniczeń i bezpłatnie do wszelkich celów. Wsparcie finansowe dla twórców SQLite zapewnia specjalnie utworzony konsorcjum, do którego należą takie firmy jak Adobe, Oracle, Mozilla, Bentley i Bloomberg.

Podstawowe zmiany:

  • Zrealizowano przybliżony wariant polecenia ANALYZE, który pozwala na częściowe zbieranie statystyk w bardzo dużych bazach danych, bez pełnego skanowania indeksów. Ograniczenie liczby rekordów skanowanych w jednym indeksie ustawia się za pomocą nowej dyrektywy „PRAGMA analysis_limit«.
  • Dodano nową wirtualną tabelę „bytecode«, która dostarcza informacje o bajtkodzie wcześniej przygotowanych wyrażeń (prepared statement).
  • Dodano warstwę VFS checksum, która dodaje 8-bajtowe sumy kontrolne na końcu każdej strony danych w bazie danych i sprawdza je przy każdym odczycie z bazy. Warstwa pozwala wykrywać uszkodzenia bazy danych spowodowane przypadkowym uszkodzeniem bitów w urządzeniach pamięci.
  • Dodano nową funkcję SQL iif(X,Y,Z), która zwraca wartość Y, jeśli wyrażenie X jest prawdziwe, lub Z w przeciwnym razie.
  • W wyrażeniach INSERT i UPDATE teraz zawsze jest stosowane związanie typów kolumn (column affinity) przed obliczeniem warunków w bloku CHECK.
  • Limit liczby parametrów zwiększono z 999 do 32766.
  • Dodano rozszerzenie UINT collating sequence z implementacją sortowania sekwencji, które uwzględniają liczby całkowite w tekście do sortowania go w porządku liczbowym.
  • W interfejsie wiersza poleceń do polecenia „.import” dodano opcje „—csv”, „—ascii” i „—skip”. W poleceniu „.dump” zezwolono na użycie wielu wzorców LIKE z łączeniem wszystkich tabel, które pasują do podanych masek. Dodano polecenie „.oom” dla wersji debugowych. Do poleceń „.excel”, „.output” i „.once” dodano opcję „—bom”. Do polecenia „.filectrl” dodano opcję „—schema”.
  • Wyrażenie ESCAPE podane z operatorem LIKE teraz nadpisuje znaki wildcard, co odpowiada zachowaniu PostgreSQL.

Dodatkowo można zauważyć rozwój nowej bazy danych DuckDB, w której tworzony jest wariant SQLite, zoptymalizowany do wykonywania zapytania analityczne.
Oprócz kodu powłoki z SQLite, projekt wykorzystuje wyodrębniony parser z PostgreSQL, komponent Date Math z MonetDB, własną implementację funkcji okna (opartą na algorytmie Segment Tree Aggregation), wektorowy silnik wykonywania zapytań (oparty na algorytmie Hyper-Pipelining Query Execution), obsługiwacz wyrażeń regularnych na podstawie biblioteki RE2, własny optymalizator zapytań i mechanizm MVCC zarządzania jednoczesnym wykonywaniem zadań (Multi-Version Concurrency Control).
Kod projektu rozpowszechniany na licencji MIT. Rozwój wciąż znajduje się na etapie stworzeniu wydań eksperymentalnych.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster