Каковы недостатки использования 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, и т.д.).

Другие вопросы по тегам