Переваги та обмеження key-value баз даних

Концепції NoSQL

Miriam Antona

Software engineer

Переваги — дуже просто

  • Пара «ключ-значення»
  • Немає фіксованої схеми/типів
  • Базові операції:
    • Put
      • вставляє нову пару «ключ-значення»
      • оновлює значення, якщо ключ уже існує
    • Get
      • повертає значення за заданим ключем
    • Delete
      • видаляє ключ і його значення
  • Швидкі операції
Концепції NoSQL

Переваги — гнучкість

  • Дозволяють змінювати типи даних
    • userID:123 = 123456
    • userID:123 = "Miriam"
  • Додають додаткові атрибути
    • user:457:preferences = {"language" : "en:US"}
    • user:457:preferences = {"language" : "en:US", "color" : "green","timezone" :"GTM-4"}
Концепції NoSQL

Переваги — дані в памʼяті

  • Швидке читання/запис
  • Можлива втрата даних
  • Комбінація збереження на диску та в пам'яті
Концепції NoSQL

Переваги — масштабованість

  • Горизонтальне масштабування
  • Шардінг
    • розподіляє різні частини даних між кількома серверами

Візуальне пояснення шардінгу. Дані розподілені між серверами.

Концепції NoSQL

Переваги — масштабованість

  • Горизонтальне масштабування
  • Шардінг
    • розподіляє різні частини даних між кількома серверами

Візуальне пояснення шардінгу. Дані розподілені між серверами.

Концепції NoSQL

Переваги — масштабованість

  • Горизонтальне масштабування
  • Шардінг
    • розподіляє різні частини даних між кількома серверами

Візуальне пояснення шардінгу. Дані розподілені між серверами.

Концепції NoSQL

Переваги — масштабованість

  • Горизонтальне масштабування
  • Шардінг
    • розподіляє різні частини даних між кількома серверами

Візуальне пояснення шардінгу. Дані розподілені між серверами.

Концепції NoSQL

Обмеження

  • Пошук лише за ключем
    • Проблема, якщо ключ невідомий
    • Деякі key-value бази додали можливості
      • пошук за значенням
      • вторинні індекси
      • пошук за кількома ключами одночасно
    • Не для складних запитів
Концепції NoSQL

Давайте потренуємось!

Концепції NoSQL

Preparing Video For Download...