Каковы недостатки использования snake_case в именах полей MongoDB?
Я думаю об использовании snake_case в моих документах mongoDB из-за соглашения в проекте. Как я здесь исследовал, camelCase кажется стандартом в mongodb из-за его BSON-хранилища.
Мои документы например
{
"created_at": "",
"issuer": "my-user-name",
"document_id": "81234-guid",
"file_id": "81234-another-guid",
"details": {
...
}
}
Как видите, я под snake_case. Это означает, что многие из моих имен полей на один символ длиннее.
- Как это влияет на хранилище?
- Есть ли какое-либо сжатие или алгоритм, который хранит имена полей отдельно, или действительно каждое имя поля хранится в BSON?
В моем случае в коллекции будет много небольших записей. Для каждого документа в mongodb будет храниться около 10 сущностей. В коллекции будет около 1.000.000.000 документов, то есть не менее 10.000.000.000 объектов.
1 ответ
В базе данных не прописано, как называть поля (кроме поля с именем
_id
).
В Ruby, например, принято использовать стиль подчеркивания, когда вы размышляете.
Если вы хотите использовать короткие имена полей для оптимизации хранения, переход от верблюжьего регистра к подчеркиванию будет гораздо меньше разницы, чем фактическое использование более коротких имен полей (например,
n
вместо
count
, и т.д.).