Witam,

Chciałbym zaprosić do współpracy przy rozwoju biblioteki Ganglib - http://code.google.com/p/ganglib

Poniżej przedstawiam krótki opis biblioteki

Czym jest Ganglib?
Ganglib jest wydaną na licencji LGPL biblioteką dostępu do danych (DAL) dla PHP i Zend Framework.

Biblioteka powstała aby wypełnić niszę którą odkryliśmy. Skalowanie baz danych to temat aktualnie popularny, ale niezbyt dobrze wspierany jeślio chodzi o biblioteki dla programistów. Chcemy aby biblioteka którą stworzyliśmy - i w której rozwoju mamy nadzieję, zechcesz brać udział - choć w małym stopniu przyczyni się do zmiany tej sytuacji.


Co robi i jak działa Ganglib?
Ganglib zapewnia abstrakcję operacji na danych od źródła danych. Umożliwia łatwe wymienianie strategii dostępu - zawierających wszystkie szczegóły dot. operacji na fizycznych danych, serwerach itp.

Korzystając z biblioteki nie używamy gotowych poleceń SQL, a składni obiektowej (przypominającej LINQ z .NET 3.0) - dzięki czemu dodatkowo zyskujemy abstrakcję od konkretnych RDBMS - czy też w ogóle od baz danych (kwerendy mogą operować przecież .. np. na systemie plików - jeśli tylko napiszemy odpowiednią strategię obsługi kwerend).

Jeśli chcemy korzystać z relacyjnych baz danych, możemy dowolnie zmieniać dialekty języka SQL w oparciu o które generowane są kwerendy (aktualnie zawarty jest tylko dialekt MySQL).


Jakie korzyści daje biblioteka?

Dzięki Ganglib zyskujemy więc dodatkową, przezroczystą dla programisty-użytkownika warstwę, która umożliwia takie operacje jak:
- partycjonowanie poziome i pionowe bazy danych - Ganglib zawiera przykładowe strategie korzystające z PDO i umożliwiające wysyłanie kwerend do różnych serwerów baz danych w oparciu o tabele z których korzysta kwerenda (partycjonowanie pionowe) lub w oparciu o tabele + warunki WHERE (metody RANGE, HASH i LIST). Gotowe strategie nie są jednak największą siłą biblioteki smile.gif A możliwość tworzenia własnych - w oparciu o konkretne schematy bazy danych i specyfikę aplikacji. Dodatkowo, dzięki swojej architekturze Ganglib umożliwia rozpoczynanie prac nad aplikacją od najprostszej strategii - używającej jednego silnika baz danych, przejście przez replikację i skalowanie pionowe/poziome aż do .. używania obiektowych baz w stylu SImpleDB czy BigTable - bez zmian w kodzie aplikacji,
- używanie/zmianę fizycznej warstwy obsługującej dane - jako przykład umieściliśmy strategię odpalającą polecenia SQL na .... danych z kanałów RSS smile.gif


Chcemy zapewnić jeszcze więcej!

Chcemy aby ganglib zawierał jeszcze więcej komponentów ułatwiających skalowanie aplikacji internetowych, dlatego już teraz biblioteka obsługuje Cacheowanie oraz udostępnia przydatny komponent - Cache_Manager ułatwiający korzystanie z Zend_Cache.

Dodatkowym bonusem jest komponent Memcached_Session_SaveHandler umożliwiający zapisywanie sesji w Memcache - co jest bardzo wydajnym rozwiązaniem, a czego również nie oferuje Zend Framework.


Wesprzyj nas!
Liczmy na pomoc - w testowaniu, programowaniu, na świeże pomysły - w końcu na wykorzystywanie Ganglib w prawdziwych projektach i informowanie nas o tym.



Kto za tym stoi?

Pomysłodawcą biblioteki jest firma Divante.pl Sp. z o.o.
oraz firma Internet Works Sp. z o.o.
Zapraszamy do lektury naszego bloga dot. skalowania: http://blog.divante.pl

Kim jesteśmy?
http://divante.pl/o_nas