SQLite 3.5.0 alpha

Pojawiła się nowa, oznaczona numerem 3.5.0 alpha wersja popularnej w świecie PHP bazy danych SQLite. Niesie ona wiele zmian – jak informują twórcy tej bazy, w nowym wydaniu przepisano od podstaw ok. 10% całego kodu. Modyfikacje dotyczą operacji na najgłębszych poziomach bazy i nie wnoszą istotnych różnic w składni SQL-a.

Najważniejszą nowością jest rozbudowa obsługi pamięci w SQLite. Obejmuje ona m.in. kwestie związane z alokacją przestrzeni przez procesy bazy, właściwe reakcje na sytuacje krytyczne typu przepełnienie pamięci (dostępne są mechanizmy, które pozwalają ocalić proces przed nagłym zakończeniem w takim przypadku), czy wprowadzenie mechanizmów do testowania i debugowania bazy. Da się również sprawdzać na bieżąco ilość pamięci zużywanej przez SQLite na swoje działanie.

Kolejną nowością w SQLite 3.5.0 jest pełna wielowątkowość: baza może już obsługiwać dowolną ilość procesów korzystających z tego samego połączenia. Wiąże się z tym również rozbudowa mechanizmu keszowania (ang. caching) danych przez bazę: wspomniane już wątki korzystające z tego samego połączenia mogą używać wspólnej pamięci podręcznej (kesza). Opcję tę da się włączyć lub wyłączyć przy pomocy funkcji należącej do interfejsu programistycznego (API) bazy SQLite.

Pozostały jeszcze zmiany w obsłudze systemu plikowego. SQLite jest bazą przeznaczoną dla wielu systemów operacyjnych, co oznacza, że musi obsługiwać różne sposoby dostępu do dysku, zapewniane przez jądra tych systemów. Ponieważ mechanizmy te wyglądają inaczej np. w Linuksie, a inaczej pod Windows, potrzebny jest wspólny interfejs pozwalający na unifikację ich obsługi bez modyfikacji całego kodu bazy.W tym celu SQLite posługuje się wirtualnym systemem plikowym (VFS, ang. virtual file system). W wersji 3.5.0 porzucono stosowany dotychczas interfejs sqlite3_os_switch() i wprowadzono pełną obsługę VFS-a, który odtąd jest dostępny jako klasa sqlite3_vfs. Zawiera ona m.in. metody do rozpoznawania ścieżek pliku, odnajdywania poszczególnych plików i folderów, odczytu i zapisu danych, wydobywania informacji o uprawnieniach dostępu, dacie założenia i modyfikacji danego zasobu, itd. Klasy tworzone na podstawie sqlite3_vfs są przeznaczone do obsługi różnych systemów plikowych i operacyjnych; możliwa jest jednoczesna obsługa kilku systemów, co ułatwia instalację SQLite-a w architekturze rozproszonej.

http://www.sqlite.org

Zaloguj się, aby dodać komentarz

Nie masz konta? Zarejestruj się »

Zobacz także

Skuteczne narzędzia do wykrywania uszkodzonych podzespołów

pobierz

Wykrywanie i usuwanie niechcianych programów

pobierz

Polecane artykuły

Array ( [docId] => 49173 )

Array ( [docId] => 49173 )
Array ( [docId] => 49173 )