Яке обладнання робить хороший сервер MongoDB? Де його взяти?


13

Припустимо, ви зараз на сайті dell.com і купуєте сервер для запуску вашої бази даних MongoDB для вашого невеликого запуску. Вам доведеться обробляти буквально десятки тисяч записів і читань за хвилину (але невеликими об’єктами). Ви б пішли на 2 процесори? Інвестувати більше в оперативну пам’ять?

Я чув (виправте мене, якщо я помиляюся) MongoDB обробляє все, що може, в оперативній пам’яті, а потім передає все на диск, в такому випадку я повинен інвестувати в процесор з великим кешем L2, ймовірно,> 40 Гб оперативної пам’яті і твердотільний привід .. правда?

Чи краще мені з високим кінцевим сервером (~ 11 309 доларів, 2 дорогих процесори, 96 ГБ оперативної пам’яті) або 2x (~ 6 419 доларів, 2 дорогі процесори, 12 ГБ оперативної пам’яті)?

З Dell все гаразд чи у вас є кращі страждання? (Я за межами США, в Португалії)


3
чому ви купуєте апаратне забезпечення замість того, щоб ви працювали з чимось на зразок EC2 для запуску? Принаймні спочатку, поки ви не дізнаєтесь, якими будуть ваші вимоги.

Погодьтеся з Томом. Чому б не взяти кілька примірників на хмарі?

1
@mixdev, ви помиляєтеся: "Linux, NUMA і MongoDB прагнуть не працювати разом". Джерело: mongodb.org/display/DOCS/NUMA
Шадок

Відповіді:


19

Спочатку вам потрібно буде покращити оперативну пам'ять. Оперативна пам’ять, яка вам знадобиться, залежить від кількості даних, які ви зберігаєте, кількості колекцій, індексів цих колекцій, моделей доступу до даних тощо. Багато факторів.

Найголовніше - мати достатньо оперативної пам’яті, щоб зберегти ваші індекси в оперативній пам’яті. В іншому випадку ваша продуктивність буде різко погіршуватися, оскільки ваш сервер (и) постійно буде сторінками, поки Mongo переміщає файли, нанесені на пам'ять, в пам'ять і з неї. Незважаючи на все це, ми не бачили, щоб швидкість запису впливала, але все інше є. Обробка списує чергу, промивання, звалища тощо, коли вони не вписуються в оперативну пам’ять, зазнають різкого удару.

Тож реальної короткої відповіді немає. В основному, будьте уважні до своїх індексів. Користуйтеся лише тим, що вам потрібно. Зберігайте невеликі колекції, якщо зможете (тобто розбивайтеся на декілька, де можна.) Ці колекції також цікаво розглянути.


1
З нашого досвіду, коли Mongo не вистачає оперативної пам’яті для запитів, запит не тільки переходить до документів (запускається назавжди, 5 хвилин, 15 хвилин, година…), але вставки починають виходити з ладу.
Jonesome Reinstate Monica


6

Завдяки MongoDB ви хочете отримати оперативну пам’ять. А потім ще кілька оперативної пам’яті. Купівля оперативної пам’яті не зашкодить.


3

Якщо ви перебуваєте на етапі придбання виробничого обладнання, тоді програма, яку ви запускаєте, вже має бути написана, правда? Тож запускайте додаток на апаратному забезпеченні, яке ви маєте, і приймайте показники. Поступово змінюйте деякі компоненти та використовуйте більше показників. Коли ви закінчите, ви дізнаєтеся, які точки зору є найбільш важливими для вашої програми та сценарію.


3

Спочатку - купуйте стільки оперативної пам’яті, скільки зможете. Другий обмежуючий фактор - швидкість диска. RAID допомагає. SSD допомагає. Більше осколків допомагає. Виміряйте пропускну здатність порівняно з ефективністю диска та необхідними часом відгуку, а потім вирішіть, що робити в рамках вашого бюджету.


1

Мені було б цікаво, чи було б кластерне рішення Linux кращою, дешевшою альтернативою.

MongoDB дозволяє поширювати дані на багатьох серверах. Це буде неможливо за допомогою одного, підключеного сервера.

Я подумав, що MongoDB - це один з наступних кроків, зроблених після з'ясування того, що розгортання реляційної бази даних на переносному сервері недостатньо масштабується.


1

Десятки тисяч пишуть за хвилину - це нічого. Ви можете отримати 50 000 або більше записів за секунду на гідному обладнання. Технічні характеристики дійсно залежать від того, що ви намагаєтеся зробити. Взагалі достатньо оперативної пам’яті для великих баз даних і швидких систем вводу-виводу важливі поряд з гідним процесором ...


0

Важливо встановити міцну базову лінію до проектування обладнання. Як правило, очікуйте, що подібні запитання будуть задавати досвідчені люди mongoDB, перш ніж хтось навіть зможе розглянути відповідь на ваше запитання.

Поточна статистика додатків (якщо така є)

  • Всього записів на сьогодні?
  • Початкова оцінка зберігання?
  • Очікуваний% зростання / місяць?
  • Середній розмір документа?

Робота з завантаженням даних

  • Нові вставки / день, пік і середній показник на секунду?
  • Оновлення / день, пік і середній показник на секунду?
  • Читання / день, пік та середній показник / секунду?
  • Середня кількість повернених документів за запитом: 70
  • Видаляє / день, пік і середній / секунду: немає
  • Чи будуть масові навантаження / масові оновлення? Якщо так, то як великі і як часто?
  • Скільки буде різних типів документів?
  • Скільки кожного з них?
  • Як ви очікуєте, як виглядатимуть ваші документи (зразок документа)?

Шаблони запитів та очікування від ефективності

  • Прочитати відповідь угоди про угоду?
  • Написати відповідь угоди про угоду?
  • Чи є читання на основі діапазону чи випадковими?

Передбачувані схеми доступу

  • Кількість необхідних вторинних індексів?
  • Кількість атрибутів?
  • Умови сортування?
  • Поодинокі або складні?
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.