2015-12-21 3 views
0

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: массивы?

*) пару миллионов, чтобы начать с

ответ

0

RethinkDB хорошо работает с редкими данными. Индексы в настоящее время всегда имеют редкие индексы, поэтому ваш индекс не будет загроможден документами, которые не имеют проиндексированного поля.

Смежные вопросы