MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Инструменти на MongoDB от общността, които допълват ClusterControl

Тъй като MongoDB е предпочитаната база данни за много разработчици, не е изненада, че поддръжката на общността е отлична. Можете бързо да намерите отговори на повечето си проблеми в сайтове за знания като Stack Overflow, но общността също така създава много инструменти, скриптове и рамки около MongoDB.

ClusterControl е част от инструментите на общността, които ви позволяват да разгръщате, наблюдавате, управлявате и мащабирате всяка топология на MongoDB. ClusterControl е проектиран около жизнения цикъл на базата данни, но естествено не може да покрие всички аспекти на цикъла на разработка. Тази публикация в блога ще обхване селекция от инструменти на общността, които могат да се използват за допълване на ClusterControl при управлението на цикъл на разработка.

Управление на схеми

Болката от промените в схемата в конвенционалните RDBMS беше един от двигателите зад създаването на MongoDB:всички страдахме от болезнено бавни или неуспешни миграции на схеми. Следователно MongoDB е разработен с безсхемен дизайн на документ. Това ви позволява да променяте вашата схема, когато пожелаете, без базата данни да ви задържа.

Промените в схемата обикновено се правят винаги, когато има разработка на приложение. Добавянето на нови функции към съществуващите модули или създаването на нови модули може да включва създаването на друга версия на вашата схема. Оптимизациите на схемата и производителността също могат да създадат нови версии на вашите схеми.

Въпреки че много хора ще кажат, че е брилянтно да не бъде задържано от базата данни, това също носи няколко проблема:тъй като старите данни не се мигрират към новия дизайн на схемата, вашето приложение трябва да може да се справи с всяка версия на схемата, която вие имате във вашата база данни. Като алтернатива можете да актуализирате всички (стари) данни с по-нова схема веднага след като сте разположили приложението.

Инструментите, обсъдени в този раздел, ще бъдат много полезни при решаването на тези проблеми със схемата.

Колекция Meteor2

Модулът за събиране на Meteor2 ще гарантира, че както от страна на клиента, така и от страна на сървъра, схемата ще бъде валидирана. Това ще гарантира, че всички данни ще бъдат записани според дефинираната схема. Модулът ще бъде само реактивен, така че всеки път, когато данните не бъдат записани според схемата, ще бъде върнато предупреждение.

Мангуст

Mongoose е междинен софтуер на Node.js за моделиране и валидиране на схеми. Дефиницията на схемата се поставя във вашето приложение Node.js и това ще позволи на Mongoose да действа като ORM. Mongoose няма да мигрира съществуващите данни в новата дефиниция на схемата.

Схема MongoDB

Досега говорихме само за промени в схемата, така че е време да представим MongoDB Schema. MongoDB Schema е анализатор на схеми, който ще вземе (случайна) извадка от вашите данни и ще изведе схемата за извадените данни. Това обаче не означава непременно, че ще бъде 100% точен при оценката на схемата си.

С този инструмент можете редовно да проверявате данните си спрямо вашата схема и да откривате важни или неволни промени във вашата схема.

Severalnines Станете DBA на MongoDB – Пренасяне на MongoDB в Производството Научете какво трябва да знаете, за да внедрите, наблюдавате, управлявате и мащабирате MongoDB Изтеглете безплатно

Резервни копия

ClusterControl поддържа две реализации за архивиране на MongoDB:mongodump и Percona Consistent Backup. И все пак някои по-рядко използвани функции, като частични/инкрементални архиви и поточно архивиране към други клъстери, няма да бъдат налични извън кутията.

Архивиране на MongoDB

MongoDB Backup е логическо решение за архивиране на NodeJS, което предлага подобна функционалност като mongodump. В допълнение към това, той може също да предава поточно архивиране през мрежата, което го прави полезен за транспортиране на колекция от един екземпляр на MongoDB в друг.

Друга полезна функция е, че е написана в NodeJS. Това означава, че ще бъде много лесно да се интегрира в чат бот на Hubot и да се автоматизират трансферите на събиране. Не се страхувайте, ако вашата компания не използва Hubot като чатбот:той може също да функционира като уеб кукичка или да се контролира чрез CLI.

Монгоб

Mongob е друго логично решение за архивиране, но в този случай е написано на Python и е достъпно само като CLI инструмент. Точно като MongoDB Backup, той може да прехвърля бази данни и колекции между екземпляри на MongoDB, но в допълнение към това може също да ограничи скоростта на трансфер.

Друга полезна функция на Mongob е, че ще може да създава инкрементални архиви. Това е добре, ако искате да имате по-компактни архивни копия, но също така и ако трябва да извършите възстановяване в даден момент.

MongoRocks Strata

MongoRocks Strata е инструментът за архивиране на системата за съхранение на MongoRocks. Percona Server за MongoDB включва механизма за съхранение на MongoRocks, но му липсва инструментът за архивиране на Strata за създаване на резервни копия на ниво файл. По принцип mongodump и Percona Consistent Backup са в състояние да правят надеждни архиви, но тъй като са логични дъмпове, времето за възстановяване ще бъде дълго.

MongoRocks е двигател за съхранение, който разчита на LSM дървовидна архитектура. Това основно означава, че това е хранилище само за добавяне. За да може да направи това, той работи с пакети с данни:по-старите данни ще се съхраняват в по-големи (архивни) кофи, последните данни ще се съхраняват в по-малки (скорошни) кофи и всички нови входящи данни ще бъдат записани в специална кофа с памет . Всеки път, когато се извърши уплътняване, данните ще се стичат надолу от кофата с памет към скорошните кофи и наскоро променените данни обратно в архивната кофа.

За да направи резервно копие на всички пакети, Strata инструктира MongoDB да изхвърли пакета с памет на диск и след това копира всички пакети с данни на ниво файл. Това ще създаде последователно архивиране на всички налични данни. Също така ще бъде възможно да се инструктира Strata да копира само последните пакети и ефективно да прави постепенно архивиране.

Друг добър момент на Strata е, че предоставя двоичния файл mongoq, който ви позволява да заявявате директно резервните копия. Това означава, че няма нужда да възстановявате архива в екземпляр на MongoDB, преди да можете да го направите заявка. Ще можете да използвате тази функционалност, за да изпращате производствените си данни офлайн към вашата система за анализ!

GUI на MongoDB

В рамките на ClusterControl позволяваме запитване на базите данни и колекциите на MongoDB чрез съветници. Тези съветници могат да бъдат разработени в интерфейса на ClusterControl Developer Studio. Ние не разполагаме с директен интерфейс с базите данни, така че за да направите промени в данните си, ще трябва или да влезете в обвивката на MongoDB, или да имате инструмент, който ви позволява да правите тези промени.

PHPMoAdmin

PHPMoAdmin е еквивалент на MongoDB на PHPMyAdmin. Той разполага с подобна функционалност като PHPMyAdmin:управление на данни и администратор. Инструментът ще ви позволи да изпълнявате CRUD операции както в JSON, така и в PHP синтаксис във всички бази данни и колекции. Освен всичко това, той разполага и с функция за импортиране/експортиране на текущия ви избор на данни.

Mongo-Express

Ако търсите универсален браузър за данни, Mongo-Express е инструмент, който определено трябва да проверите. Той не само позволява подобни операции като PHPMoAdmin, но също така е в състояние да показва изображения и видеоклипове на линия. Той дори поддържа извличане на големи обекти от GridFS кофи.

Робомонго

Инструментът, който отива още една крачка напред, е Robomongo. Тъй като е инструмент, финансиран от тълпа, списъкът с функции е огромен. Той е в състояние да изпълнява всички същите операции като Mongo-Express, но в допълнение към това също позволява управление на потребители, роли и колекция. За връзки той поддържа директни MongoDB връзки, но също така поддържа топологии на replicaSet и екземпляри на MongoDB Atlas.

Заключение

С тази селекция от безплатни инструменти на общността се надяваме, че сме ви дали добър преглед как да управлявате данните на MongoDB до ClusterControl.

Приятно групиране!


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Услугата MongoDB не работи във Fedora

  2. Каква е ползата от Jade или Handlebars при писане на AngularJs приложения

  3. Удостоверяването на MongoDB 3.2 не бе успешно

  4. NoSQL (MongoDB) срещу Lucene (или Solr) като ваша база данни

  5. ClusterControl - Разширено управление на архивиране - MongoDB