Python

Як створити програму Python за допомогою CockroachDB та PonyORM

Як створити програму Python за допомогою CockroachDB та PonyORM

У цьому посібнику ми познайомимо вас з 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, використовуючи бажану мову програмування. Це надає розробникам можливість працювати з даними в базі даних у вигляді об’єктів; отже, ви можете використовувати ООП для своєї мови для роботи з даними.

Використовуючи бібліотеку PonyORM, ми можемо використовувати мову Python для роботи з даними в CockroachDB у вигляді об’єктів реляційної бази даних.

Ви можете використовувати документацію PonyORM для довідки. Ось посилання:

https: // docs.поніорм.орг / ток.html

Як встановити CockroachDB на Linux

Щоб встановити CockroachDB в системах Linux, виконайте дії, наведені в цьому посібнику, і, залежно від конфігурації вашої системи, вам потрібно мати root-доступ або бути користувачем sudo.

Перший крок - це переконатися, що ваша система є оновленою, а потім встановити необхідні залежності. Ось команда для цього:

оновлення sudo apt-get && оновлення sudo apt-get
sudo apt-get встановити glibc libncurses tzdata -y

Наступним кроком є ​​завантаження бінарного файлу CockroachDB за допомогою wget, як показано в команді нижче:

wget -qO- https: // двійкові файли.тарганdb.com / тарган-v20.2.3.linux-amd64.tgz

Після завантаження двійкового файлу витягніть файл.

смола -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:

встановити поні

Щоб перевірити, чи встановлено Pony, відкрийте інтерпретатор Python і введіть код.

>>> від поні. імпорт orm *

Оскільки ми будемо використовувати PonyORM з CockroachDB, нам потрібно встановити необхідний драйвер. У цьому випадку нам потрібно встановити psycopg2. За допомогою команди pip встановіть необхідний драйвер.

pip встановити psycopg2-двійковий

Перевірте, чи встановлено Psycopg за допомогою інтерактивного сеансу python, і введіть команду:

імпорт

Після того, як все встановлено, ви можете рухатись далі і починати працювати з CochroachDB та PonyORM:

Як створити програму Python за допомогою CockroachDB та PonyORM

Щоб створити програму python, почніть із запуску інтерактивної оболонки SQL за допомогою команди.

тарган SQL

Наступним кроком є ​​створення бази даних та користувача для взаємодії, що можна зробити за допомогою команди:

СТВОРИТИ КОРИСТУВАЧА, ЯКЩО НЕ Є
СТВОРИТИ БЛОГ ДАНИХ;

Додайте необхідні привілеї користувачеві адміністратора за допомогою команди:

НАДАЙТЕ ВСЕ НА БЛОГІ БД БАЗИ ДАНИХ адміністратору;
\ q;

Тепер щодо розділу програми:

У наведеному нижче коді PonyORM використовується для взаємодії з базою даних блогу та зіставлення об’єктів та методів Python із базою даних SQL.

У наведеному нижче коді виконуються такі операції:

від поні.імпорт orm *
імпорт дата і час
база даних = база даних ()
db_params = dict (провайдер = 'тарган', користувач = 'адміністратор',
host = 'localhost', port = 26257, database = 'blog')
клас Користувач (база даних.Організація):
first_name = Обов’язково (unicode)
blogs = Встановити ("Блог")
клас Блог (база даних.Організація):
username = Обов’язково (Користувач)
title = Обов’язково (unicode)
опублікувати_дату = Потрібно (дата-час.дата)
категорія = Обов’язково (unicode)
set_sql_debug (True)
база даних.прив'язка (** db_params)
база даних.згенерувати карту (create_tables = True)
@db_session
def create_blog ():
user = Користувач (ім'я = u "Адміністратор")
blog = Блог (ім'я користувача = користувач,
title = u "Привіт світ",
публікація_дати = дата і час.дата (2021, 1, 1),
category = u "Чернетка")
блоги = [

"користувач": користувач,
"title": "Привіт світ 1",
"публікація_дати": дата і час.дата (2021, 1, 2),
"category": "Чернетка"
,

"користувач": користувач,
"title": "Привіт світ 2",
"публікація_дати": дата і час.дата (2021, 1, 3),
"category": "Чернетка"
,

"користувач": користувач,
"title": "Привіт світ 3",
"публікація_дати": дата і час.дата (2021,1,4),
"category": "Чернетка"

]
для блогу в блогах:
b_ = Блог (** блог)
якщо __name__ == "__основна__":
create_blog ()
b_ = Користувач ("Адміністратор")

Після запуску програми ви побачите результат, подібний до наведеного нижче:

ОТРИМАЙТЕ НОВЕ ПІДКЛЮЧЕННЯ
ЗВ'ЯЗК З ВИПУСКОМ
ОТРИМАЙТЕ ПІДКЛЮЧЕННЯ З МІСЦЕВОГО БАСЕЙНУ
ПЕРЕКЛЮЧІТЬ В РЕЖИМ АВТОКОММІНАТУ
СТВОРИТИ ТАБЛИЦЮ "користувач" (
"id" СЕРІЙНИЙ ПЕРВИННИЙ КЛЮЧ,
"first_name" ТЕКСТ НЕ ПУСТИЙ
)
СТВОРИТИ ТАБЛИЦЮ “блог” (
“Id” СЕРІЙНИЙ ПЕРВИННИЙ КЛЮЧ,
“Ім’я користувача” INT8 НЕ НУЛЬ,
“Title” ТЕКСТ НЕ ПУСТИЙ,
“Публікація_дати” ДАТА НЕ НУЛЬНА,
“Категорія” ТЕКСТ НЕ ПУСТИЙ
)
СТВОРИТИ ІНДЕКС "idx_blog__username" ON "blog" ("ім'я користувача")
ЗМІНИТЬ ТАБЛИЦЮ "блог" ДОДАТИ ОБМЕЖЕННЯ "fk_blog__username" ІНОЗЕМНИЙ КЛЮЧ ("ім'я користувача") ПОСИЛАННЯ "користувач" ("ідентифікатор") ВИДАЛИТИ КАСКАД
ВИБЕРІТЬ "блог"."id", "blog"."ім'я користувача", "блог"."назва", "блог"."дата публікації", "блог"."категорія"
ВІД "блогу" "блогу"
ДЕ 0 = 1
ВИБЕРІТЬ "користувач"."id", "user"."ім'я"
ВІД "користувач" "користувач"
ДЕ 0 = 1

Висновок

Використовуючи додаток вище, ми створили простий додаток для блогу, який створює користувача та призначає блоги імені користувача. Потім ми додали дані до бази даних, які ми можемо запитувати, використовуючи запити SQL. Хоча програма проста, вона ілюструє, як ми можемо використовувати CockroachDB та PonyORM для створення програми Python.

5 найкращих аркадних ігор для Linux
В наш час комп’ютери - це серйозні машини, що використовуються для ігор. Якщо ви не можете отримати новий високий бал, ви зрозумієте, що я маю на уваз...
Битва за Веснот 1.13.6 Розробка випущена
Битва за Веснот 1.13.6, випущений минулого місяця, є шостим випуском розробки в 1.13.x, і це забезпечує низку вдосконалень, особливо до інтерфейсу кор...
Як встановити League of Legends на Ubuntu 14.04
Якщо ви шанувальник League of Legends, то це можливість для вас тестувати League of Legends. Зверніть увагу, що LOL підтримується на PlayOnLinux, якщо...