В това ръководство ще ви запознаем с CockroachDB и PonyORM с помощта на Python. Ще започнем, като обсъдим кои са тези технологии и след това ще обсъдим как работят.
Преди да започнем да изграждаме приложение на Python с CockroachDB и PonyORM, нека разберем какви са тези технологии:
Какво е CockroachDB
CockroachDB е силно мащабируема, разпределена SQL база данни с отворен код, която използва транзакционни и последователни хранилища ключ-стойност.
CockroachDB е много ефективен като метод за осигуряване на трайност на данните и възстановяване в случай на отказ. В случай на откази на хардуер и софтуер, той може да съхранява данни, като използва силно последователни репликации на своите данни и автоматични поправки. Използвайки SQL API, CockroachDB ви позволява да заявявате, структурирате и манипулирате данни, използвайки SQL заявки.
Използвайки SQL API, CockroachDB осигурява на разработчиците лесен преход, тъй като те получават същите познати концепции. Тъй като вече има съществуващи SQL драйвери за повечето езици за програмиране, използването му става по-удобно.
Препоръчваме ви да разгледате документацията на CockroachDB за по-добро разбиране.
https: // linkfy.до / хлебарка Документи
Какво е PonyORM
PonyORM е усъвършенстван Python обектно-релационен картограф. Въпреки че има и други Python ORM като Django и SQLAlchemy, PonyORM е изгоден, тъй като има функции като поддръжка на композитни ключове, автоматична оптимизация на заявката и интуитивен и ясен синтаксис на заявката.
ORM е просто инструмент, който ви позволява да работите с SQL база данни, използвайки предпочитания от вас език за програмиране. Той дава възможност на разработчиците да работят с данните в базата данни под формата на обекти; следователно можете да използвате OOP за вашия език, за да работите с данните.
Използвайки библиотеката PonyORM, можем да използваме езика Python за работа с данни в CockroachDB под формата на обекти от релационната база данни.
Можете да използвате документацията за PonyORM за справка. Ето връзката:
https: // docs.ponyorm.org / toc.html
Как да инсталирате CockroachDB на Linux
За да инсталирате CockroachDB на Linux системи, следвайте стъпките в това ръководство и в зависимост от вашата системна конфигурация ще трябва да имате root достъп или да сте sudo потребител.
Първата стъпка е да се уверите, че вашата система е актуална и след това да инсталирате необходимите зависимости. Ето командата за това:
sudo apt-get update && sudo apt-get upgradesudo apt-get инсталиране на glibc libncurses tzdata -y
Следващата стъпка е да изтеглите двоичния файл CockroachDB с помощта на wget, както е показано в командата по-долу:
wget -qO- https: // двоични файлове.хлебарка.com / хлебарка-v20.2.3.linux-amd64.tgzСлед като изтеглите двоичния файл, извлечете файла.
tar -xvf хлебарка-v20.2.3.linux-amd64.tgzЗа да стартирате команди CockroachDB от която и да е обвивка, добавете двоичния файл към пътя си:
cp -i хлебарка-v20.2.3. linux-amd64 / хлебарка / usr / bin /Копирайте необходимите библиотеки:
mkdir -p / usr / lib / хлебаркаcp -i хлебарка-v20.2.3.linux-amd64 / lib / libgeos.така / usr / lib / хлебарка /
cp -i хлебарка-v20.2.3.linux-amd64 / lib / libgeos_c.така / usr / lib / хлебарка /
След като приключите, потвърдете, че сте инсталирали хлебарка:
кой хлебарка/ usr / bin / хлебарка
Стартирайте временен клъстер в паметта, като използвате командата:
демо за хлебаркиВътре в клъстера можете да стартирате интерактивна SQL обвивка, за да въведете валидни SQL заявки:
ПОКАЖЕТЕ МАСИ;Как да инсталирате PonyORM
За да инсталирате PonyORM, трябва да имате инсталирана и работеща версия на Python. Можете да използвате както Python 2 (мъртъв), така и Python 3.
С помощта на pip инсталирайте Pony:
pip3 инсталиране на пониЗа да проверите дали имате инсталиран Pony, отворете интерпретатора на Python и въведете кода.
>>> от пони. импортиране на orm *Тъй като ще използваме PonyORM с CockroachDB, трябва да инсталираме необходимия драйвер. В този случай трябва да инсталираме psycopg2. Използвайте командата pip, за да инсталирате необходимия драйвер.
pip инсталирайте psycopg2-двоичен файлПроверете дали имате инсталиран Psycopg с помощта на интерактивната сесия на python и въведете командата:
внос psycopgСлед като инсталирате всичко, можете да продължите и да започнете да работите с CochroachDB и PonyORM:
Как да изградим приложение на Python с CockroachDB и PonyORM
За да създадете приложение на python, започнете, като стартирате интерактивна SQL черупка с помощта на командата.
хлебарка SQLСледващата стъпка е да създадете база данни и потребител за взаимодействие, което можете да направите с помощта на командата:
СЪЗДАЙТЕ ПОТРЕБИТЕЛ, АКО НЕ СЪЩЕСТВУВА admin;СЪЗДАЙТЕ БЛОГ НА БАЗАТА ДАННИ;
Добавете необходимите привилегии към администратора с помощта на командата:
ПРЕДОСТАВЕТЕ ВСИЧКИ БЛОГА НА БАЗАТА ДАННИ НА администратора;\ q;
Сега за раздела за приложението:
Кодът по-долу използва PonyORM за взаимодействие с базата данни на блога и картографиране на обектите и методите на Python към базата данни SQL.
Кодът по-долу извършва следните операции:
от пони.импортиране на orm *импортиране на дата и час
база данни = база данни ()
db_params = dict (доставчик = 'хлебарка', потребител = 'администратор',
host = 'localhost', port = 26257, database = 'blog')
клас Потребител (база данни.Обект):
first_name = Задължително (unicode)
blogs = Set ("Blog")
клас Блог (база данни.Обект):
потребителско име = Задължително (Потребител)
заглавие = задължително (unicode)
публикация_данни = Задължително (дата и час.дата)
категория = задължително (unicode)
set_sql_debug (Вярно)
база данни.обвързване (** db_params)
база данни.генериране на картографиране (create_tables = True)
@db_session
def create_blog ():
user = Потребител (first_name = u "Admin")
blog = Блог (потребителско име = потребител,
title = u "Здравей, свят",
дата на публикуване = дата и час.дата (2021, 1, 1),
категория = u "Чернова")
блогове = [
"потребител": потребител,
"title": "Hello world 1",
"публикуване_дата": дата и час.дата (2021, 1, 2),
"категория": "Чернова"
,
"потребител": потребител,
"title": "Hello world 2",
"публикуване_дата": дата и час.дата (2021, 1, 3),
"категория": "Чернова"
,
"потребител": потребител,
"title": "Hello world 3",
"публикуване_дата": дата и час.дата (2021,1,4),
"категория": "Чернова"
]
за блог в блогове:
b_ = Блог (** блог)
ако __name__ == "__main__":
create_blog ()
b_ = Потребител ("Администратор")
След като стартирате приложението, трябва да видите изход, подобен на показания по-долу:
ВЗЕМЕТЕ НОВА ВРЪЗКАОСВОБОЖДАВАНЕ НА ВРЪЗКАТА
ВЗЕМЕТЕ ВРЪЗКА ОТ МЕСТНИЯ БАСЕЙН
ПРЕВКЛЮЧЕТЕ В РЕЖИМ АВТОКОММИТ
СЪЗДАЙТЕ ТАБЛИЦА "потребител" (
"id" СЕРИАЛЕН ОСНОВЕН КЛЮЧ,
"first_name" ТЕКСТ НЕ НУЛ
)
СЪЗДАЙТЕ ТАБЛИЦА „блог“ (
“Id” СЕРИАЛЕН ОСНОВЕН КЛЮЧ,
„Потребителско име“ INT8 НЕ Е НУЛО,
„Заглавие“ ТЕКСТ НЕ НУЛ,
„Публикация_датата“ ДАТА НЕ Е НУЛА,
„Категория“ ТЕКСТ НЕ НУЛЕН
)
CREATE INDEX "idx_blog__username" ON "blog" ("потребителско име")
ALTER TABLE "блог" ДОБАВЯНЕ НА ОГРАНИЧЕНИЕ "fk_blog__username" ЧУЖДЕСТРАНЕН КЛЮЧ ("потребителско име") РЕФЕРЕНЦИИ "потребител" ("id") ПРИ ИЗТРИВАНЕ НА КАСКАДАТА
ИЗБЕРЕТЕ "блог"."id", "blog"."потребителско име", "блог"."заглавие", "блог"."публикуване_датата", "блог"."категория"
ОТ "блог" "блог"
КЪДЕ 0 = 1
ИЗБЕРЕТЕ "потребител"."id", "потребител"."първо име"
ОТ "потребител" "потребител"
КЪДЕ 0 = 1
Заключение
Използвайки приложението по-горе, създадохме просто приложение за блог, което създава потребител и присвоява блогове на потребителското име. След това добавихме данните в базата данни, които можем да направим с помощта на SQL заявки. Въпреки че приложението е просто, то илюстрира как можем да използваме CockroachDB и PonyORM, за да създадем приложение на Python.