Perst - Perst
Deweloper (y) | McObject |
---|---|
Pierwsze wydanie | 2003 |
System operacyjny | Wieloplatformowy |
Rodzaj | ODBMS |
Licencja | GPL lub zastrzeżone |
Stronie internetowej | www |
Prest jest open source , podwójny licencji obiektowego wbudowany system zarządzania bazami danych ( ODBMS ). Zarówno Java język programowania , a C # wersje języka programowania są kompaktowe i Prest został wdrożony na smartfonach działających pod kontrolą systemu Android i Windows Phone (WP7) systemów operacyjnych .
Historia
Perst został uruchomiony w 2003 roku w Rosji. Został zaprojektowany w celu osiągnięcia wysokiej wydajności poprzez ścisłą integrację bazy danych z językiem programowania: Perst bezpośrednio przechowuje dane w obiektach języka. W 2006 roku McObject LLC z siedzibą w Issaquah w stanie Waszyngton przejął rozwój firmy Perst. Nadal oferuje bezpłatne pliki do pobrania i dodano opcje licencji komercyjnej.
Perst został najpierw napisany w Javie i przeniesiony do C #. Chociaż pierwotnie zaprojektowany dla oprogramowania dla komputerów stacjonarnych i serwerów, Perst znalazł również zastosowanie w zarządzaniu bazami danych dla aplikacji mobilnych działających na urządzeniach takich jak smartfony . Te urządzenia mobilne zazwyczaj mają ograniczenia sprzętowe, z ograniczoną pamięcią RAM i kilkoma dostępnymi cyklami procesora oraz niestandardowymi (dla systemów baz danych) wymaganiami operacyjnymi (takimi jak obsługa języka Java ME lub Silverlight na platformie mobilnej Windows Phone 7).
Wersje
Obecnie dostępne wersje Perst to Perst for .NET , Perst for Java i Perst Lite. Perst for Java i Perst Lite są zawarte w jednej dystrybucji oprogramowania.
Perst dla .NET obsługuje C # wersje 1.0 i 2.0 z tym samym kodem źródłowym. Obsługa określonych funkcji języka C # 2.0 (takich jak klasy szablonów) jest dostępna w czasie kompilacji. Jest kompatybilny zarówno ze standardowymi, jak i kompaktowymi frameworkami .NET, a także z Silverlight i może działać zarówno na Microsoft Windows Phone 7 (WP7), jak i Windows Embedded Compact (dawniej Windows CE).
Perst for Java obsługuje J2SE / J2EE w wersji 1.3 i 1.4, a także J2SE / J2EE w wersji 5. Jest kompatybilny ze środowiskiem smartfonów Android.
Perst Lite to implementacja Perst for Java, która działa na urządzeniach (takich jak smartfony BlackBerry) opartych na platformie urządzeń mobilnych Java ME (J2ME). Zajmuje około 30 procent mniej pamięci niż standardowy Perst.
Szczegółowo
Rozmiar
Wielkość engine prest wynosi 5000 linii kodu źródłowego , a jego czas pracy pamięci o dostępie swobodnym (RAM) potrzebuje zakres od 30K do 300K.]
Transakcje
Transakcje Perst obsługują właściwości ACID (atomowość, spójność, izolacja, trwałość) z automatycznym odzyskiwaniem.
Zapytanie
Perst udostępnia podzbiór SQL do filtrowania elementów klasy kontenera . Aby uzyskać dostęp do przechowywanych obiektów, Perst implementuje specjalistyczne klasy kolekcji, w tym:
- Indeksy B-drzewa
- Indeksy R-drzewa
- Klasy kontenerów bazy danych w pamięci oparte na drzewach T
- k- d indeksy drzew
- Indeksy drzewa Radix (Patricia trie)
- Klasa szeregów czasowych do efektywnego radzenia sobie z małymi obiektami o stałym rozmiarze, takimi jak notowania giełdowe
- Specjalistyczne wersje kolekcji dla grubych indeksów (indeksy z wieloma duplikatami) i indeksów bitowych (klucze z ograniczoną liczbą możliwych wartości)
Ewolucja schematu
Aby ułatwić wprowadzanie zmian w istniejącym projekcie bazy danych ( schemacie bazy danych ), Perst wprowadza „leniwą” ewolucję schematu bazy danych. Gdy instancja obiektu jest ładowana z bazy danych, jej deskryptor klasy jest porównywany z formatem klasy w aplikacji. Jeśli nie są identyczne, a obiekt ma zostać zmieniony, wówczas obiekt jest konwertowany i zapisywany w nowym formacie. Przy „niecierpliwej” ewolucji schematu zmiany formatu przeszłyby przez bazę danych naraz.
Dodatkowe funkcje
- Zbieranie śmieci
- Wielowątkowe
- Obsługa zapytań zintegrowanych z językiem (LINQ)
- Narzędzia do importu / eksportu XML
- Obsługa replikacji typu master / slave z opcją uruchamiania zapytań tylko do odczytu na węzłach slave
- Wyszukiwanie pełnotekstowe
- Integracja z aspektowymi narzędziami programistycznymi AspectJ i JAssist
Przykładowe implementacje
ProScout to midlet demonstracyjny do używania Perst Lite w środowisku Java ME. Demonstracja dotyczy dyskretnego narzędzia do robienia notatek dla rekrutera sportowego. Pierwotnie wdrożony dla Blackberry , został również wdrożony w Nokia S60 .
McObject zapewnia aplikację demonstracyjną systemu CRM wykorzystującego Perst for .NET, w tym bazę danych kontaktów z możliwością wyszukiwania tekstu, która działa w przeglądarce na komputerze w Silverlight. Andy Wigley z appamundi przeniósł tę aplikację demonstracyjną na Windows Phone i opisał projekt w serii postów na blogu.
Koncesjonowanie
Użytkownicy mogą redystrybuować i / lub modyfikować Perst zgodnie z warunkami Powszechnej Licencji Publicznej GNU (wersja 2 lub nowsza), opublikowanej przez Free Software Foundation . Dla osób lub organizacji, które nie mogą lub nie chcą przestrzegać GPL, firma McObject udostępnia licencję komercyjną.
Bibliografia
Linki zewnętrzne
- Oficjalna strona internetowa McObject
- Perst - strony ProScout w witrynie społeczności Java.Net Mobile i Embedded Community.