Google облако с BigTable против Google в облачном хранилище
в чем разница между Google Cloud Bigtable и Google Cloud Datastore / App Engine datastore, и каковы основные практические преимущества / недостатки? ЕМНИП облачном хранилище построить на вершине с BigTable.
6 ответов:
на основе опыта работы с хранилищем данных и чтения Bigtable docs, основными отличиями являются:
- Bigtable, похоже, предназначен для совместимости с HBase, тогда как хранилище данных больше ориентировано на разработчиков веб-приложений Python/Java/Go (первоначально App Engine)
- Bigtable-это "немного больше IaaS", чем хранилище данных, поскольку оно не "просто там", но требует, чтобы кластер был настроить.
- Bigtable поддерживает только один индекс - "ключ строки" (ключ сущности в хранилище данных)
- это означает, что запросы находятся на ключе, в отличие от индексированных свойств хранилища данных
- Bigtable поддерживает атомарность только на одной строке-нет транзакций
- мутации и удаления, по-видимому, не являются атомарными в Bigtable, тогда как хранилище данных обеспечивает возможную и сильную согласованность, в зависимости от метода чтения/запроса
- модель выставления счетов очень отличающийся:
- плата за хранение данных для операций чтения / записи, хранения и пропускной способности
- Bigtable обвинения на 'узлов', хранение и пропускная способность
Bigtable оптимизирован для больших объемов данных и аналитики
- Облако Bigtable не реплицирует данные между зонами или регионами (данные в пределах одного кластера реплицируются и долговечны), что означает, что Bigtable быстрее и эффективнее, а затраты намного ниже, хотя он менее долговечен и доступен в конфигурации по умолчанию
- использует HBase API - нет никакого риска блокировки или новых парадигм учись
- он интегрирован с инструментами больших данных с открытым исходным кодом, что означает, что вы можете анализировать данные, хранящиеся в Bigtable в большинстве инструментов аналитики, используемых клиентами (Hadoop, Spark и т. д.)
- Bigtable индексируется одним ключом строки
- Bigtable находится в одной зоне
Cloud Bigtable предназначен для крупных компаний и предприятий, которые часто имеют большие потребности в данных со сложными внутренними рабочими нагрузками.
хранилище данных оптимизировано для обслуживания ценные транзакционные данные для приложений
- Облачное Хранилище Данных имеет чрезвычайно высокую доступность с репликацией и синхронизацией данных
- хранилище данных, из-за его универсальности и высокой доступности, стоит дороже
- хранилище данных медленнее записи данных из-за синхронной репликации
- хранилище данных имеет гораздо лучшую функциональность вокруг транзакций и запросов (поскольку существуют вторичные индексы)
Bigtable и хранилище данных очень разные. Да, хранилище данных построено поверх Bigtable, но это не делает его чем-то подобным. Это похоже на то, что автомобиль построен поверх колес, и поэтому автомобиль не сильно отличается от колес.
Bigtable и Datastore предоставляют очень разные модели данных и очень разные семантики в том, как изменяются данные.
основное различие заключается в том, что хранилище данных предоставляет транзакции SQL-database-like ACID на подмножества данных, известные как группы сущностей (хотя язык запросов GQL намного более ограничен, чем SQL). Bigtable строго NoSQL и поставляется с гораздо более слабыми гарантиями.
относительно незначительный момент для рассмотрения, по состоянию на ноябрь 2016 года, bigtable python client библиотека все еще находится в Альфа, что означает, что будущие изменения не могут быть совместимы. Кроме того, библиотека BigTable python несовместима со стандартной средой App Engine. Вы должны использовать гибкий.
Я только что нашел эту полезную аналогию похороненной в страница о возможной последовательности в документации хранилища данных (акцент мой):
одна практика заключается в объединении облачного хранилища данных и BigQuery для выполнения различных бизнес-требований. используйте облачное хранилище данных для онлайн-обработки транзакций (OLTP), необходимой для основной логики приложения, и используйте BigQuery для онлайн-аналитической обработки (OLAP) для внутренних операций. это может быть необходимо реализовать непрерывный поток экспорта данных из облачного хранилища данных в BigQuery для перемещения данных, необходимых для этих запросов.