W tym przewodniku wprowadzimy Cię do CockroachDB i PonyORM przy użyciu Pythona. Zaczniemy od omówienia, czym są te technologie, a następnie omówimy, jak działają.
Zanim zaczniemy budować aplikację Pythona z CockroachDB i PonyORM, zrozummy, czym są te technologie:
Co to jest karaluchDB
CockroachDB to wysoce skalowalna, rozproszona baza danych SQL typu open source, która wykorzystuje transakcyjne i spójne magazyny wartości klucz-wartość-.
CockroachDB jest bardzo skuteczną metodą zapewniającą trwałość danych i odzyskiwanie w przypadku awarii. W przypadku awarii sprzętu i oprogramowania może zachować dane, korzystając z silnych, spójnych replikacji swoich danych i automatycznych napraw. Korzystając z interfejsu API SQL, CockroachDB umożliwia tworzenie zapytań, strukturyzację i manipulowanie danymi za pomocą zapytań SQL.
Korzystając z interfejsu API SQL, CockroachDB zapewnia programistom łatwe przejście, ponieważ otrzymują te same znane koncepcje. Ponieważ ma już istniejące sterowniki SQL dla większości języków programowania, korzystanie z niego staje się wygodniejsze.
Zalecamy zapoznanie się z dokumentacją CockroachDB w celu lepszego zrozumienia.
https://linkfy.do/karaluchDokumenty
Co to jest PonyORM
PonyORM to zaawansowany maper obiektowo-relacyjny w Pythonie. Chociaż istnieją inne ORM w Pythonie, takie jak Django i SQLAlchemy, PonyORM jest korzystny, ponieważ ma takie funkcje, jak obsługa kluczy złożonych, automatyczna optymalizacja zapytań oraz intuicyjna i prosta składnia zapytań.
ORM to po prostu narzędzie, które umożliwia pracę z bazą danych SQL przy użyciu preferowanego języka programowania programming. Daje programistom możliwość pracy z danymi w bazie danych w postaci obiektów; w związku z tym możesz używać OOP dla swojego języka do pracy z danymi.
Wykorzystując bibliotekę PonyORM możemy wykorzystać język Python do pracy z danymi w CockroachDB w postaci obiektów relacyjnej bazy danych.
Możesz skorzystać z dokumentacji PonyORM w celach informacyjnych. Oto link:
https://dokumenty.kucyk.org/toc.html
Jak zainstalować CockroachDB w systemie Linux?
Aby zainstalować CockroachDB w systemach Linux, wykonaj kroki opisane w tym przewodniku i, w zależności od konfiguracji systemu, będziesz musiał mieć uprawnienia roota lub być użytkownikiem sudo.
Pierwszym krokiem jest upewnienie się, że Twój system jest aktualny, a następnie zainstalowanie wymaganych zależności. Oto polecenie do tego:
aktualizacja sudo apt-get && aktualizacja sudo apt-getsudo apt-get install glibc libncurses tzdata -y
Następnym krokiem jest pobranie pliku binarnego CockroachDB za pomocą wget, jak pokazano w poniższym poleceniu:
wget -qO- https://binaria.karaluch.pl/karaluch-v20.2.3.linux-amd64.tgzPo pobraniu pliku binarnego wyodrębnij plik.
smoła -xvf karaluch-v20.2.3.linux-amd64.tgzAby uruchomić polecenia CockroachDB z dowolnej powłoki, dodaj plik binarny do swojej ścieżki:
cp -i karaluch-v20.2.3. linux-amd64/karaluch /usr/bin/Skopiuj wymagane biblioteki:
mkdir -p /usr/lib/karaluchcp -i karaluch-v20.2.3.linux-amd64/lib/libgeos.więc /usr/lib/karaluch/
cp -i karaluch-v20.2.3.linux-amd64/lib/libgeos_c.więc /usr/lib/karaluch/
Po zakończeniu potwierdź, że masz zainstalowany Karaluch:
który karaluch?/usr/bin/karaluch
Uruchom tymczasowy klaster w pamięci za pomocą polecenia:
karaluch demoWewnątrz klastra możesz uruchomić interaktywną powłokę SQL, aby wprowadzić poprawne zapytania SQL:
POKAŻ TABELE;Jak zainstalować PonyORM
Aby zainstalować PonyORM, powinieneś mieć zainstalowaną i działającą wersję Pythona. Możesz używać zarówno Pythona 2 (martwy) jak i Pythona 3.
Używając pip, zainstaluj Pony:
pip3 zainstaluj kucykaAby sprawdzić, czy masz zainstalowanego Pony, otwórz interpreter Pythona i wprowadź kod.
>>> od kucyka. import formularzy *Ponieważ będziemy używać PonyORM z CockroachDB, musimy zainstalować wymagany sterownik. W tym przypadku musimy zainstalować psycopg2. Użyj polecenia pip, aby zainstalować niezbędny sterownik.
pip zainstaluj psycopg2-binarySprawdź, czy masz zainstalowany Psycopg za pomocą interaktywnej sesji Pythona i wprowadź polecenie:
importuj psycopgPo zainstalowaniu wszystkiego możesz przejść dalej i rozpocząć pracę z CochroachDB i PonyORM:
Jak zbudować aplikację w Pythonie z CockroachDB i PonyORM
Aby zbudować aplikację w Pythonie, zacznij od uruchomienia interaktywnej powłoki SQL za pomocą polecenia.
karaluch SQLNastępnym krokiem jest utworzenie bazy danych i użytkownika do interakcji, co można zrobić za pomocą polecenia:
UTWÓRZ UŻYTKOWNIKA, JEŚLI NIE ISTNIEJE admin;TWORZENIE BAZ DANYCH blog;
Dodaj niezbędne uprawnienia użytkownikowi admin za pomocą polecenia:
PRZYZNAJ WSZYSTKO W BAZIE DANYCH do administratora\q;
Teraz przejdź do sekcji aplikacji:
Poniższy kod używa PonyORM do interakcji z bazą danych bloga i mapowania obiektów i metod Pythona na bazę danych SQL.
Poniższy kod wykonuje następujące operacje:
od kucyka.import formularzy *importuj datę i godzinę
baza danych = baza danych ()
db_params = dict(dostawca='karaluch', użytkownik='admin',
host='localhost', port=26257, baza danych='blog')
klasa Użytkownik(baza danych.Jednostka):
first_name = Wymagane (unicode)
blogi = Ustaw("Blog")
klasa Blog(baza danych.Jednostka):
nazwa użytkownika = Wymagane (Użytkownik)
tytuł = Wymagane (unicode)
data_publikacji = Wymagane (data/godzina.data)
kategoria = Wymagane (unicode)
set_sql_debug (prawda)
Baza danych.bind(**db_params)
Baza danych.generate_mapping(create_tables=True)
@db_sesja
def utwórz_blog():
użytkownik = Użytkownik(first_name=u"Administrator")
blog = Blog (nazwa użytkownika=użytkownik,
title=u"Witaj świecie",
publikacja_data=data/godzina.data(2021, 1, 1),
kategoria=u"Wersja robocza")
blogi = [
"użytkownik": użytkownik,
"title": "Witaj świecie 1",
"data_publikacji": data i godzina.data (2021, 1, 2),
"kategoria": "Szkic"
,
"użytkownik": użytkownik,
"title": "Witaj świecie 2",
"data_publikacji": data i godzina.data(2021, 1, 3),
"kategoria": "Szkic"
,
"użytkownik": użytkownik,
"title": "Witaj świecie 3",
"data_publikacji": data i godzina.data (2021, 1,4),
"kategoria": "Szkic"
]
dla bloga w blogach:
b_ = Blog(**blog)
if __name__ == "__main__":
utwórz_blog()
b_ = Użytkownik("Administrator")
Po uruchomieniu aplikacji powinieneś zobaczyć dane wyjściowe podobne do pokazanego poniżej:
UZYSKAJ NOWE POŁĄCZENIEZWOLNIJ POŁĄCZENIE
UZYSKAJ POŁĄCZENIE Z LOKALNEGO BASENU
PRZEŁĄCZ W TRYB AUTOCOMMIT
UTWÓRZ TABELĘ „użytkownik” (
SERYJNY KLUCZ PODSTAWOWY „id”,
TEKST „Imie” NIE JEST NULL
)
UTWÓRZ TABELĘ „blog” (
SERYJNY KLUCZ PODSTAWOWY „id”,
„nazwa użytkownika” INT8 NIE NULL,
TEKST „tytuł” NIE JEST NULL,
„data_publikacji” DATA NIE JEST NULL,
TEKST „kategorii” NIE JEST NULL
)
UTWÓRZ INDEKS "idx_blog__username" ON "blog" ("username")
ALTER TABLE "blog" ADD CONSTRAINT "fk_blog__username" KLUCZ OBCY ("username") REFERENCE "user" ("id") PRZY USUWANIU KASKADY
WYBIERZ "blog".„id”, „blog”."nazwa użytkownika", "blog".„tytuł”, „blog”."data_publikacji", "blog"."Kategoria"
Z „blog” „blog”
GDZIE 0 = 1
Wybierz użytkownika".„id”, „użytkownik”."Imię"
OD „użytkownik” „użytkownik”
GDZIE 0 = 1
Wniosek
Korzystając z powyższej aplikacji, stworzyliśmy prostą aplikację blogową, która tworzy użytkownika i przypisuje blogi do nazwy użytkownika. Następnie dodaliśmy dane do bazy danych, które możemy wykonać za pomocą zapytań SQL. Chociaż aplikacja jest prosta, pokazuje, jak możemy użyć CockroachDB i PonyORM do stworzenia aplikacji w Pythonie.