MongoDB е №3 база данни с отворен код и NoSQL база данни №1 в света. Това е междуплатформена документно-ориентирана база данни, която използва подобни на JSON документи със схема и се използва широко в стартиращи приложения до бизнеси на ниво предприятие, разработващи модерни приложения. Въпреки че може да предположите, че голяма част от внедряванията на облачната база данни се изпълняват на AWS, Azure или Google Cloud Platform, малките и средните предприятия по-специално гравитират към удобния за разработчици доставчик на облак, DigitalOcean, за своя хостинг за MongoDB® нужди. В тази публикация ще ви преведем през най-добрия начин за хостване на MongoDB в DigitalOcean, включително най-добрите типове за използване, типове дискове, стратегия за репликация и доставчици на управлявани услуги.
Предимства на DigitalOcean за MongoDB
И така, какво прави DigitalOcean завладяваща алтернатива на други популярни MongoDB хостинг доставчици като AWS и Azure? Както бе споменато по-горе, DigitalOcean е изключително удобен за разработчиците със своята проста и лесна за разбиране платформа – не е нужно да се сертифицирате чрез този доставчик на облак, за да можете да стартирате и работите уверено внедряването си. Те предлагат базиран на SSD облачен хостинг с ясна цена, започваща само от $5/месец, което го прави идеален (и достъпен) за разработчиците да създават, тестват и внедряват своите нови приложения безпроблемно в облака. Това, което е най-впечатляващо е, че не правите компромис между производителността и разходите. Проведохме тестове за производителност за MongoDB на DigitalOcean срещу AWS срещу Azure и установихме, че производителността на DigitalOcean е в съответствие, ако не и по-добра, както при висока пропускателна способност, така и при ниска латентност при внедряването.
DigitalOcean Droplets
DigitalOcean е специализирана в базирани на SSD виртуални машини, наречени Droplets, които са разделени на четири прости категории. Най-основният Droplet е техният стандартен екземпляр, който използва споделен процесор, започвайки от само $5/месец. Макар че е подходящ за приложения с нисък трафик, малки бази данни и среди за разработка/тест, ние препоръчваме да не използвате споделени клъстери за вашите производствени внедрявания на MongoDB. Те също така предлагат специален CPU-оптимизиран Droplet, който е достатъчен за натоварвания с интензивни CPU, но предлагат малко памет, което не е идеално за хостинг на MongoDB.
Ако разгръщате средно голямо работно натоварване на MongoDB, бихме препоръчали техния най-популярният дроплет с общо предназначение, който е специален екземпляр, който предлага 4GB памет за всеки vCPU. Това обикновено е повече от достатъчно за производствено внедряване и приложения с голям трафик и започва от $60/месец за 8GB памет, 2 vCPU, 4TB трансфер и 25GB SSD дисково пространство. DigitalOcean също така наскоро пусна своите оптимизирани за паметта Droplets, които са специални екземпляри, които са предназначени за приложения с интензивно RAM и високопроизводителни бази данни, което го прави привлекателно решение за приложения MongoDB с голямо натоварване.
Можете да внедрите MongoDB на DigitalOcean в 12 региона на центрове за данни по целия свят, включително Съединените щати (Ню Йорк и Сан Франциско), Канада, Холандия, Сингапур, Обединеното кралство , Германия и Индия.
Типове дискове DigitalOcean
Една от причините MongoDB да се представя толкова добре на DigitalOcean е заради техните SSD дискове, които са идеални за внедряване на облачни бази данни. Те осигуряват голяма пропускателна способност, която предлага значителни предимства за стартиране на индекс във вашата база данни или ремонт на машина, като ви спестява значително време спрямо стандартно внедряване на MongoDB в AWS. Те дори предлагат невероятно ниска латентност от Amazon AWS US-East до центъра за данни DigitalOcean в Ню Йорк, което е чудесно за приложения, които работят на средно ниво на AWS, но биха искали да използват DigitalOcean за своите MongoDB клъстери.
Стратегии за репликация на MongoDB
Ако използвате MongoDB на DigitalOcean в производство, най-добрите практики е да внедрите с помощта на набор от реплики, за да осигурите висока наличност и резервиране на данни за вашите клъстери. DigitalOcean, заедно с AWS и Azure, предлагат SLA от 99,99% време на работа, но въпреки че това звучи близо до перфектно, тези 0,01% се равняват на 52,6 минути престой за една година. Това е почти един час, когато вашата база данни става недостъпна за вашите клиенти, посетители и служители, което може да окаже значително влияние върху задържането на клиентите и репутацията на марката ви.
Набори реплики на MongoDB
За щастие, можете да намалите значително риска от разгръщане от загуба на център за данни, като настроите географски разпределен набор от реплика с 3 възли за MongoDB на DigitalOcean. Има няколко опции за настройка на тази конфигурация, като първата е настройка на първично-вторичен арбитър, която осигурява 2 възела, носещи данни, и арбитър, който действа като член с право на глас, за да определи коя реплика трябва да поеме, в случай че една от тях стане недостъпна . Това е най-достъпната опция, тъй като арбитърът не съхранява никакви данни и струва по-малко за разгръщане, но също така предлага 1 възел по-малко, който може да поеме управлението в случай на отказ. Оптималната стратегия за репликация би била настройка първично-вторично-вторична, която използва 3 възела, носещи данни и ви позволява да преминете при отказ към 2 отделни центъра за данни, в случай че основният ви регион изпадне.
Най-добрият начин за хостване на #MongoDB на DigitalOcean Щракнете за туитSharding MongoDB
Разделянето на MongoDB е усъвършенствана форма на внедряване, която ви позволява хоризонтално да мащабирате данните си на множество машини. Това е много сложна конфигурация за настройка и управление, тъй като всеки шард съдържа множество набори реплики и може да бъде разпределен в различни места на центрове за данни за висока наличност. Разделянето е идеално за много големи набори от данни или разгръщания с висока пропускателна способност, които изискват повече капацитет, който можете да получите с един сървър. Когато типичното разгръщане се мащабира вертикално чрез добавяне на повече капацитет към сървър, когато е необходимо, разделянето ви позволява да мащабирате хоризонтално, като разделяте данните си и натоварването на множество машини. След като настроите вашата разчленена среда, можете да добавите още фрагменти, ако е необходимо, за да поддържате растежа на вашето приложение.
В ScaleGrid ние предлагаме самостоятелни, 2 реплики + арбитър, 3 реплики и усъвършенствани конфигурации на Sharding за хостване на MongoDB на DigitalOcean съгласно нашия Специализиран хостинг план, започвайки с размер на микро план от $35/ месец до план X4XLarge с 16 ядра, 48 GB RAM и 950 GB място за съхранение. Можете също така да персонализирате своя набор реплики MongoDB с неограничен брой реплики за нуждите на вашето приложение.
Управляван хостинг на MongoDB на DigitalOcean
Сега стигаме до последния въпрос – трябва ли да управлявате самостоятелно своя MongoDB при внедряване на DigitalOcean или да използвате напълно управлявана платформа Database-as-a-Service (DBaaS)? Отговорът се свежда до вашето време, знания и постоянна достъпност за справяне с всички критични проблеми, които възникват при внедряването ви.
Задачи за управление и поддръжка
Платформите MongoDB DBaaS ви позволяват да автоматизирате всичките си отнемащи време операции по управление и поддръжка, като надстройки на версии, мащабиране, безплатни архиви, възстановяване, обезпечаване, депровизиране, репликация, уплътняване, индексиране управление, кръпки на ОС и ротации на регистрационни файлове. В зависимост от размера на вашето разгръщане, това може да ви отнеме 1-2 дни на месец, до армия от експерти на MongoDB на пълен работен ден, работещи денонощно. Огромна полза от използването на DBaaS платформа е, че премахвате риска от човешка грешка, тъй като операциите по управление са автоматизирани за вас. Той също така поддържа вашите MongoDB клъстери в DigitalOcean напълно защитени и актуални, така че да не отваряте внедряванията си до потенциални грешки или заплахи, които могат да се появят при пренебрегвана база данни.
Наблюдение на производителността
Мониторингът също е огромен компонент за управление на внедряването на MongoDB. С платформата DBaaS можете да автоматизирате сигналите за всичките си ключови показатели на MongoDB, така че да сте информирани в момента, в който се достигне нежелан праг, и да получите достъп до усъвършенствана конзола за наблюдение, за да анализирате всички ваши показатели на MongoDB и OS във вашите първични и вторични инстанции и за всеки период от време. Освен това, с DBaaS като ScaleGrid, можете да използвате Slow Query Analyzer, който ви позволява да визуализирате бавно изпълняващи се заявки и да ги оптимизирате, преди те да започнат да влияят върху ефективността на внедряването ви.
Поддръжка за отстраняване на неизправности
Последно, но не на последно място, е достъпността за поддръжка. Ако сте били събудени в 4:00 сутринта от неистово обаждане от шефа ви, който се чуди защо приложението ви не работи и колко бързо можете да го възстановите, знаете точно за какво говоря. Всяка минута престой може да ви причини бизнес за хиляди долари и много по-лошо, пробив в сигурността може да затвори бизнеса ви напълно и да постави вечно петно върху репутацията ви. Като използвате платформа DBaaS, можете да изпреварите над 90% от тези критични проблеми и да разполагате с екип от експерти на MongoDB 24/7 за неизбежните 10%, които да ви помогнат бързо да идентифицирате и разрешите проблемите, за да получите своето внедряване обратно към здравословно, работещо състояние.
В ScaleGrid идентифицирахме DigitalOcean като набираща се рок звезда за хостване на MongoDB и облачните изчисления като цяло още през 2013 г. и бяха първите DBaaS платформа за стартиране на поддръжка за MongoDB DigitalOcean. Все още днес ние сме единствената напълно управлявана DBaaS платформа, която ви позволява да автоматизирате вашия хостинг за MongoDB на DigitalOcean и да използвате инструменти за управление на база данни от корпоративен клас, за да оптимизирате ефективността на внедряването, сигурността и наличността в облака. Ако се интересувате да изпробвате някои от разширените възможности на DBaaS за MongoDB на DigitalOcean, можете да започнете безплатна 30-дневна пробна версия, без да е необходима кредитна карта, за да изследвате инструментите за автоматизация, и разгледайте страницата Сравнете доставчици на MongoDB за вижте как се подреждаме срещу MongoDB Atlas, mLab, ObjectRocket и Compose за MongoDB.