/ / У MongoDB: чим більше назви властивостей роблять великі документи / використовують більше пам'яті? - java, mongodb, morphia, database

У MongoDB: чим більше імен властивостей створюють більші документи / використовують більше пам'яті? - java, mongodb, morphia, database

Я використовую Mongo з його драйвером Java і Morphia. Я позначаю цей клас:

public class Transaction {

@Id
private ObjectId id;
private String transactionUniqueIdentifier;

}

У консолі я бачу, що Монго зберігає транзакцію у формі, як {transactionUniqueIdentifier: "xjeer"}

Це означає, що я маю використовувати коротші назви властивостей("uuid" замість "transactionUniqueIdentifier"), щоб отримати меншу базу даних? Або ж є налаштування в Монго, який би для цього займався (створити коротше імена всередині ...).
Будь-який покажчик буде оцінений, thx.

Відповіді:

1 для відповіді № 1

З морфією імена властивостей документа співпадаютьімена полів Java за замовчуванням. Ви можете назвати їх, однак ви хочете бути серіалізовано в mongodb, використовуючи анотацію @Property і надаючи будь-яке ім'я, яке вам подобається.


2 для відповіді № 2

В MongoDB немає внутрішнього відображення назв полів.

Незалежно від того, чи створювати коротші імена, чи ні, залежить від численних речей, включаючи використання документа в "Карта зменшення", загальний розмір документа та обладнання на ваших серверах.

Наприклад, якщо ваш документ простіше обробляти в програмі «Зменшення карти» transactionUniqueIdentifier а не uuid і документ досить малий (скажімо, близько 5KB кожен), і у вас є SSD (ймовірно, це не потрібно насправді), то зменшення назв полів стає майже марним.

Деякі стверджують, що це не просто, але використання в реальному світі диктує, що у вас є великі речі, про які треба турбуватися.

Однак, якщо вам доведеться мати багато полів із довгими іменами або якщо у вас було більше назв, ніж transactionUniqueIdentifier то ви, можливо, захочете розглянути їх скороченняінакше ви можете витратити більшу частину вашого часу на завантаження імен полів документа з диска замість завантаження фактичних значень (оскільки назви полів будуть більші, ніж загальний розмір значень документів).

Однак існують плани стиснення назв полів, але наразі пріоритетними є інші функції.