Szybka baza plikowa oraz bigint w PHP – nowe biblioteki

Już po pierwszych tygodniach PrivMX WebMail na rynku, dowiedzieliśmy się, że sporo usług web-hostingowych nie ma zainstalowanych takich modułów php jak dba czy gmp. Moduły te wydają się „całkiem standardowe” i ich brak mocno nas zdziwił i zaniepokoił. Bazy plikowe i szybka matematyka na dużych liczbach to dość ważne elementy PrivMX WebMail, więc podczas tworzenia kolejnej głównej wersji (1.1.0) musielismy się z tym zmierzyć — duży zasięg, tzn. kompatybilność z dużą ilością stron www to dla nas bardzo ważny aspekt projektu.

Poszukiwania gotowych rozwiązań w zasadzie się nie udały i postanowiliśmy rozwiązać problem „po naszemu”. Owocem tych starań są biblioteki ldba-php i bigint-wrapper-php. Pierwsza to napisana w czystym PHP szybka baza plikowa klucz-wartość (zdecydowanie zasługująca na osobny post), a druga to biblioteka bigint wykorzystująca bcmath zamiast gmp, jeśli jest taka potrzeba (bcmath jest o wiele bardziej popularny, ale też o wiele wolniejszy).

Oba liby znaleźć można na naszym koncie github – opublikowaliśmy je na zasadach licencji MIT – zapraszamy do komentowania, rozwoju i korzystania z nich we własnych projektach.