VK Cloud logo

Cloud Databases: алғашқы басқарылатын дерекқорды жасаңыз

Cloud Databases — басқарылатын дерекқорлармен жұмыс істеуге мүмкіндік беретін сервис.

Cloud Databases сервисімен жұмысты кез келген ыңғайлы тәсілмен бастаңыз:

  • Нұсқаулықты пайдаланып, алғашқы басқарылатын PostgreSQL дерекқорын жасаңыз, оған қосылыңыз және тестілік сұрауларды орындаңыз.
  • Single конфигурациясындағы MySQL, PostgreSQL және ClickHouse басқарылатын дерекқорлары жасалатын бейнелерді қараңыз.
  • Тегін оқыту курсынан өтіңіз. Курстың теориялық бөлігінде дерекқор мен дерекқорды басқару жүйесі деген не, БД-ның қандай түрлері мен конфигурациялары бар екені түсіндіріледі. Практикалық бөлікте сіз PostgreSQL кластерін және MySQL БД-сын жасайсыз, содан кейін жасалған MySQL БД-сын виртуалды машинада орнатылған қосымшаға қосасыз.

Басқарылатын PostgreSQL БД-сын жасаңыз

Осы нұсқаулықтың барлық қадамдарынан өткен соң, сіз:

  1. Single конфигурациясындағы PostgreSQL БД инстансын жасайсыз.
  2. Жасалған БД инстансының сыртқы IP-мекенжайын аласыз.
  3. (Қосымша) Жасалған БД инстансының логтарын қарайсыз.
  4. БД инстансына TimescaleDB кеңейтімін орнатасыз.
  5. БД-ға қосыласыз.
  6. БД-да кестелер жасайсыз.
  7. Кестелерді деректермен толтырасыз.
  8. БД-ға тестілік сұрауларды орындайсыз.
  9. (Қосымша) БД инстансы жұмыс істеген уақыт ішінде жиналған мониторинг деректерімен танысасыз.

Тестілік деректердің мысалы ретінде температура мен CPU жүктемесі туралы ақпаратты қамтитын заттар интернеті (IoT) сенсорларынан келетін автоматты түрде жасалатын деректер жиыны пайдаланылады. Тестілік деректер жиыны туралы толығырақ Timescale құжаттамасынан оқыңыз. Осындай деректер жиындарын жасау процедурасы Timescale блогында егжей-тегжейлі қарастырылады.

1. PostgreSQL БД инстансын жасаңыз

  1. Өтіңіз VK Cloud жеке кабинетіне.

  2. БД инстансы орналастырылатын жобаны таңдаңыз.

  3. Базы данных → Инстансы баз данных бөліміне өтіңіз.

  4. Егер таңдалған жобада бірде-бір БД инстансы болмаса, Создать базу данных батырмасын басыңыз.

    Әйтпесе Добавить батырмасын басыңыз.

  5. Конфигурация қадамында мыналарды таңдаңыз:

    • PostgreSQL дерекқор түрін және СУБД-ның ең өзекті нұсқасын.
    • Single конфигурациясын.
  6. Следующий шаг батырмасын басыңыз.

  7. Создание инстанса қадамында мыналарды орнатыңыз:

    • Имя инстанса базы данных: мысалы, vk-cloud-dbaas-quickstart.

    • Тип виртуальной машины: STD3-2-8.

    • Зону доступности: Москва (GZ1).

    • Тип диска: SSD.

    • Размер диска, GB: 10.

    • Включить автомасштабирование диска: бұл опция таңдалмағанына көз жеткізіңіз.

    • Сеть: Создать новую сеть.

    • Адрес подсети: 10.0.1.0/24.

    • Назначить внешний IP: бұл опция таңдалғанына көз жеткізіңіз.

    • Настройки Firewall: ашылмалы тізімнен ssh таңдаңыз.

      Қауіпсіздік топтарының қорытынды тізімі мынадай болуы тиіс: default, ssh.

    • Создать реплику: бұл опция таңдалмағанына көз жеткізіңіз.

    • Ключ для доступа по SSH: Создать новый ключ.

    • Резервное копирование: Отключено.

  8. Следующий шаг батырмасын басыңыз.

  9. Инициализация қадамында мыналарды орнатыңыз:

    • Тип создания: Новая база данных.

    • Имя базы данных для создания: tsdb1.

    • Имя пользователя: tsuser1.

    • Пароль пользователя: пароль орнатыңыз немесе оны жасаңыз.

  10. Создать базу данных батырмасын басыңыз.

    БД инстансын жасау аяқталғанша күтіңіз, бұл процесс ұзақ уақыт алуы мүмкін.

2. БД инстансының сыртқы IP-мекенжайын алыңыз

  1. Өтіңіз VK Cloud жеке кабинетіне.

  2. БД инстансы орналасқан жобаны таңдаңыз.

  3. Базы данных → Инстансы баз данных бөліміне өтіңіз.

  4. БД инстансының атауын басыңыз. Ақпарат беті ашылады.

  5. Информация қойындысына өтіңіз.

    Қажетті мекенжай Внешний IP-адрес параметрінде көрсетіледі.

3. (Қосымша) БД инстансының логтарын қараңыз

  1. БД инстансын жасау кезінде алынған жеке SSH кілтін пайдаланып, БД инстансына SSH арқылы қосылыңыз:

    chmod 0600 <путь/к/ключу/ключ.pem>ssh -i <путь/к/ключу/ключ.pem> admin@<внешний IP-адрес инстанса БД>
  2. Инстанс логтарын қараңыз:

    journalctl -u postgresql

    Келтірілген шығыс фрагменті бойынша PostgreSQL іске қосылғанын, жұмыс істеп тұрғанын және кіріс қосылымдарды қабылдауға дайын екенін қорытындылауға болады.

4. TimescaleDB кеңейтімін орнатыңыз

  1. Өтіңіз VK Cloud жеке кабинетіне.

  2. БД инстансы орналасқан жобаны таңдаңыз.

  3. Базы данных → Инстансы баз данных бөліміне өтіңіз.

  4. БД инстансының атауын басыңыз. Ақпарат беті ашылады.

  5. Расширения қойындысына өтіңіз.

  6. Добавить батырмасын басыңыз.

  7. Доступные расширения ашылмалы тізімінен Расширение с открытым исходным кодом для хранения данных временного ряда (timescaledb) таңдаңыз.

  8. Добавить батырмасын басыңыз.

    Кеңейтімді орнату аяқталғанша күтіңіз: оның күйі Создается күйінен Активное күйіне ауысуы тиіс.

5. Дерекқорға қосылыңыз

  1. psql утилитасын орнатыңыз:

    1. PostgreSQL репозиторийін қосыңыз:

      sudo apt install curl ca-certificates gnupgcurl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg > /dev/nullsudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'sudo apt update
    2. psql утилитасын орнатыңыз:

      sudo apt install -y postgresql-client
  2. tsdb1 дерекқорына psql утилитасының көмегімен қосылыңыз:

    1. Команданы орындаңыз:

      psql -h <внешний IP-адрес инстанса БД> -d tsdb1 -U tsuser1
    2. БД инстансын жасау кезінде орнатылған tsuser1 пайдаланушысының паролін енгізіңіз.

    Қосылу сәтті болған жағдайда келесі шақыру көрсетілуі тиіс:

    tsdb1=>

6. Қажетті кестелерді жасаңыз

  1. TimescaleDB кеңейтімін белсендіріңіз:

    CREATE EXTENSION timescaledb;

    tsdb1=> шақыруы пайда болғанша күтіңіз.

  2. sensors кестесін жасаңыз:

    CREATE TABLE sensors(  id SERIAL PRIMARY KEY,  type VARCHAR(50),  location VARCHAR(50));
  3. sensor_data кестесін жасаңыз:

    CREATE TABLE sensor_data (  time TIMESTAMPTZ NOT NULL,  sensor_id INTEGER,  temperature DOUBLE PRECISION,  cpu DOUBLE PRECISION,  FOREIGN KEY (sensor_id) REFERENCES sensors (id));
  4. Кестелердің сәтті жасалғанына көз жеткізіңіз:

    SELECT tablenameFROM pg_catalog.pg_tablesWHERE tablename LIKE 'sensor%';
  5. PostgreSQL sensor_data кестесін TimescaleDB гиперкестесіне (hypertable) түрлендіріңіз:

    SELECT create_hypertable('sensor_data', 'time');
  6. sensor_data гиперкестесінің сәтті жасалғанына көз жеткізіңіз:

    SELECT hypertable_nameFROM timescaledb_information.hypertables;

7. Кестелерді деректермен толтырыңыз

  1. sensors кестесін деректермен толтырыңыз:

    INSERT INTO sensors (type, location) VALUES('a','floor'),('a', 'ceiling'),('b','floor'),('b', 'ceiling');
  2. Деректердің кестеге сәтті енгізілгеніне көз жеткізіңіз:

    SELECT * FROM sensors;
  3. sensor_data кестесін кездейсоқ жасалған деректермен толтырыңыз:

    INSERT INTO sensor_data (time, sensor_id, cpu, temperature)SELECT  time,  sensor_id,  random() AS cpu,  random()*100 AS temperatureFROM generate_series(now() - interval '24 hour', now(), interval '5 minute') AS g1(time), generate_series(1,4,1) AS g2(sensor_id);
  4. Кестенің алғашқы бірнеше жолын шығарып, деректердің сәтті енгізілгеніне көз жеткізіңіз:

    SELECT * FROM sensor_data ORDER BY time LIMIT 8;

8. Тест сұрауларын орындаңыз

  1. Отыз минуттық интервалдар бойынша температура мен CPU жүктемесінің орташа мәндерін шығарыңыз:

    SELECT  time_bucket('30 minutes', time) AS period,  AVG(temperature) AS avg_temp,  AVG(cpu) AS avg_cpuFROM sensor_dataGROUP BY periodORDER BY period;
  2. Отыз минуттық интервалдар бойынша температура мен CPU жүктемесінің орташа мәндерін, сондай-ақ интервал бойынша тіркелген температураның соңғы мәнін шығарыңыз:

    SELECT  time_bucket('30 minutes', time) AS period,  AVG(temperature) AS avg_temp,  last(temperature, time) AS last_temp,  AVG(cpu) AS avg_cpuFROM sensor_dataGROUP BY periodORDER BY period;

Келтірілгендерге ұқсас сұрау нәтижелерінің шығарылуы PostgreSQL және TimescaleDB кеңейтімінің дұрыс жұмыс істейтінін көрсетеді.

9. (Қосымша) БД инстансының мониторинг деректерімен танысыңыз

PostgreSQL үшін мониторинг қолжетімді. Жиналған мониторинг деректерімен танысыңыз:

  1. Өтіңіз VK Cloud жеке кабинетіне.
  2. БД инстансы орналасқан жобаны таңдаңыз.
  3. Базы данных → Инстансы баз данных бөліміне өтіңіз.
  4. БД инстансының атауын басыңыз. Ақпарат беті ашылады.
  5. Мониторинг қойындысына өтіңіз.
  6. Қажетті уақыт аралығын таңдап, жиналған деректерді қараңыз.

Пайдаланылмайтын ресурстарды жойыңыз

БД инстансы тарификацияланады және есептеу ресурстарын тұтынады. Егер ол енді қажет болмаса:

  1. БД инстансын жойыңыз.
  2. Қажет болса, БД инстансына тағайындалған Floating IP мекенжайын жойыңыз. Жобада бар Floating IP мекенжайлары тарификацияланады.

Бейненұсқаулықтар

Бұл бейнеде Single конфигурациясындағы MySQL басқарылатын дерекқоры жасалады, резервтік көшіру мен мониторинг бапталады, содан кейін жасалған БД-ға қосылу орындалады.

MySQL көбінесе веб-қосымшалар мен шағын жобалар үшін пайдаланылады.

Оқыту курсы

Тегін оқыту курсынан өтіңіз.

Курстың теориялық бөлігінде дерекқор мен дерекқорды басқару жүйесі деген не, БД-ның қандай түрлері мен конфигурациялары бар екені түсіндіріледі. Практикалық бөлікте сіз PostgreSQL кластерін және MySQL БД-сын жасайсыз, содан кейін жасалған MySQL БД-сын виртуалды машинада орнатылған қосымшаға қосасыз.

Сұрақтар мен жауаптар