3 новинки в MongoDB 2.8

    Днями я завітав грандіозну тусовку любителів NoSQL — World MongoDB Conference .
 
 
 
Eliot Horowitz, Co-Founder і CTO в MongoDB, розповів про +3 новшевства, які будуть доступні вже в найближчому релізі.
Кожне з анонсованих нововведень націлене на досягнення наступних принципів в архітектурі MongoDB:
 
     
  • Продуктивність розробника
  •  
  • Горизонтальна масштабованість
  •  
  • Операційна масштабованість
  •  
  • Адміністрування одного вебсервера має бути простим. Те ж саме стосується кластерів
  •  
Відео презентації можна подивитися тут .
 
 

Узгодженість даних

MongoDB розробляється вже, ні багато ні мало, 7 років. І що ж користувачі чули про узгодженість всі ці роки? В основному вони чули про глобальні локах на рівні всієї БД.
 
Поважно пам'ятати про тому, що блокування в MongoDB дуже схожі Латчі в реляційних СУБД — вони дуже прості і зазвичай займають не більше 10 мілісекунд. У MongoDB 2.2 була вирішена проблема блокувань на рівні всієї БД, а також поліпшений агорітм lock yielding . Це дозволило суттєво зменшити кількість проблем, що виникали у співтовариства у зв'язку з локами. Проте, розробники MongoDB продовжували трудиться в цьому напрямку.
 
І ось настав момент істини: MongoDB 2.8 матиме блокування на рівні документів! Це, безумовно, куди більше поліпшення, чим довгоочікувана блокування на рівні колекцій .
 
Блокування на рівні документів вже викладена на github (v.2.7.3), але ще не готова для використання в продакшені . Для включення режиму блокування на рівні документів необхідно запустити
mongod
з ключем
useExperimantalDocLocking=true
. Продемонстрований на презентації зростання швидкості апдейтів приголомшує: він збільшився приблизно в 10 разів з 30.000 per / sec по 340.000 per / sec!
 
 
 
 

Довільні сховища даних

Давайте спробуємо відповісти на одне просте запитання: який движок для зберігання даних є найкращим для майбутнього MongoDB? Орієнтований на швидкість читання? Швидкість запису? Безпека? Хлопці з MongoDB вважали за краще не морочитися з відповіддю. Вони вирішили, що жоден з движків не можна вважати оптимальним відразу для всіх потреб. І з цим справді не посперечаєшся. Загалом, вони розробили заменяемое API для довільного storage engine.
 
Вимог до даного API досить немало, тому що воно повинно підтримувати всі вже існуючі фичи MongoDB, підтримувати операційну масштабованість, додавання однієї або декількох нод в кластер і багато іншого.
 
У підсумку, ми отримаємо можливість підключення замінного сховища, яке буде оптимізовано під конкретні потреби: продуктивність, стиснення даних і т.д.
 
Передбачувані типи сховищ:
 - In-Memory
 - RocksDB (з Facebook, заточений під стиснення)
 - InnoDB (з MySQL)
 - TokuKV
 - FusionIO (працює в обхід файлової системи, заточений під низькі затримки)
 
In-Memory і RocksDB вже доступні в девелоперської гілці на github. Знову ж, не поспішайте використовувати це на бойових серверах.
 
 

Автоматизація

Як відомо, MongoDB вміє з коробки реплицироваться і шардіроваться. У результаті ми отримуємо не один екземпляр БД, а відразу декілька. В по-справжньому великі проекти таких нод може бути дуже багато. І проблема полягає не тільки в розгортанні всіх цих нод, а й у їх подальшому оновленні, бекапірованіі, моніторингу та багато іншого.
 
Всю цю рутину тепер за нас буде робити Mongo Management Service (MMS).
 
 
 
MMS являє собою доброзичливий веб інтерфейс, який дозволяє вирішувати цілий ряд задач буквально в пару кліків мишкою:
 
     
  • Розгортання в один клік (coming soon)
  •  
  • Миттєве оновлення нод (coming soon)
  •  
  • Безперервне (логирование) і инкрементальное створення резервних копій
  •  
  • Відкат до будь-якого станом
  •  
  • Моніторинг 100 + системних метрик
  •  
  • Настроювані уведомлнія
  •  
І на закуску: MMS навчать інтегруватися з Amazon EC2 .
 
 

Що далі?

Мені дуже подобається той факт, що команда MongoDB приділяють багато уваги тому, щоб їх продукт був зручний і корисний розробникам. І роблять це не в сферичному вакуумі, а активно цікавлячись думкою безпосередньо у співтовариства . Тому я впевнений в тому, що MongoDB і далі буде зберігати відмінний темп впровадження нових можливостей, удосконалювати безпеку, автоматизувати і робити ще більш непомітною всю рутину.
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.