usecase: как часть data-infra я рассматриваю возможность хранения многих * объектов различных типов schema.org в той же таблице RethinkDB.Может ли RethinkDB эффективно обрабатывать много разреженности?
Учитывая присущую иерархию типов schema.org, некоторые свойства разделяются всеми типами, некоторые свойства доступны только в 1 типе и все между ними.
Например: а Person, Organization, LocalBusiness, доля свойства, как name
, description
, postalAddress
и т.д., а некоторые из них могут быть использованы только лица, такие как firstName
.
Отображение этого значения в таблице RethinkDB приведет к тому, что многие свойства (поля в Rethink-speak) будут пустыми для многих объектов. Полагаю, я бы сказал, что поле будет пустым примерно в 90% случаев в среднем. Существует около 150 полей.
Может ли RethinkDB эффективно обрабатывать такой разреженный макет? Это широкий вопрос, я понимаю, но я ищу конкретику, как:
- Если бы я был строить индексы на некоторых (не все) из этих полей будет пустыми значения потребляют пространство в этих индексах?
- будет ли штраф за выполнение (cpu и mem), если бы всем этим полям было разрешено быть многозначными? i.e: массивы?
*) пару миллионов, чтобы начать с