to sql or not to sql
Feb. 7th, 2013 01:23 pmК вопросу об NoSQL срачу у
plumqqz.
Читал намедни про Google AppEngine Datastore. Что оно из себя представляет:
Внизу у него Bigtable. То есть, технология, позволяющая эффективно масштабироваться до диких масштабов в хранении пар "ключ-значение" и делать всякую продвинутую репликацию. На самом деле там к этим парам присобачены еще и другие полезные фичи сбоку, но подробности про эту часть могут быть Секретными, поэтому я их рассказывать не буду.
Поверх него сидит Megastore. Оно изображает уже более традиционные реляционные таблицы и индексы, плюс базовую транзакционность и более продвинутую репликацию.
Поверх него сидит уже собственно Datastore. Оно изображает уже вполне трацидионные реляционные таблицы и индексы, более традиционную транзакционность, и даже диалект SQL. Но не только SQL, основной интерфейс для приложений там в стиле Django, который по функциональности аналогичен SQLю и является гораздо более удобным для программирования. А SQL как таковой живет поверх него, более для ручного ковыряния. Довольно забавно, что реляционные таблицы присутствуют на двух уровнях - вся прикладная схема дейтастора отображается в одну таблицу мегастора.
Мораль заключается в том, что жесткой границы sql-nosql нет. Она очень размыта.
Второй занимательный момент заключается в том, что непонятно, почему нельзя было запихнуть бигтейбл как механизм хранения под какую-то более традиционную реляционную базу типа MySQL. Возможно оно просто так исторически выросло, и изначально никто не ожидал что оно дорастет до SQLа. Или возможно дело в вопросах лицензирования.
Читал намедни про Google AppEngine Datastore. Что оно из себя представляет:
Внизу у него Bigtable. То есть, технология, позволяющая эффективно масштабироваться до диких масштабов в хранении пар "ключ-значение" и делать всякую продвинутую репликацию. На самом деле там к этим парам присобачены еще и другие полезные фичи сбоку, но подробности про эту часть могут быть Секретными, поэтому я их рассказывать не буду.
Поверх него сидит Megastore. Оно изображает уже более традиционные реляционные таблицы и индексы, плюс базовую транзакционность и более продвинутую репликацию.
Поверх него сидит уже собственно Datastore. Оно изображает уже вполне трацидионные реляционные таблицы и индексы, более традиционную транзакционность, и даже диалект SQL. Но не только SQL, основной интерфейс для приложений там в стиле Django, который по функциональности аналогичен SQLю и является гораздо более удобным для программирования. А SQL как таковой живет поверх него, более для ручного ковыряния. Довольно забавно, что реляционные таблицы присутствуют на двух уровнях - вся прикладная схема дейтастора отображается в одну таблицу мегастора.
Мораль заключается в том, что жесткой границы sql-nosql нет. Она очень размыта.
Второй занимательный момент заключается в том, что непонятно, почему нельзя было запихнуть бигтейбл как механизм хранения под какую-то более традиционную реляционную базу типа MySQL. Возможно оно просто так исторически выросло, и изначально никто не ожидал что оно дорастет до SQLа. Или возможно дело в вопросах лицензирования.
no subject
Date: 2013-02-07 08:47 pm (UTC)no subject
Date: 2013-02-07 08:54 pm (UTC)no subject
Date: 2013-02-07 08:58 pm (UTC)no subject
Date: 2013-02-07 09:11 pm (UTC)Но по сути вопроса: не надо путать нутря реализации и интерфейс высокого уровня. У меня есть ощущение, что вы нутря какого-нибудь Оракла никогда не видели, но веруете в интерфейс, и поэтому рассуждаете на уровне маркетинговой литературы.
no subject
Date: 2013-02-07 09:17 pm (UTC)no subject
Date: 2013-02-07 09:20 pm (UTC)no subject
Date: 2013-02-08 07:29 am (UTC)no subject
Date: 2013-02-08 08:02 am (UTC)no subject
Date: 2013-02-08 02:42 pm (UTC)no subject
Date: 2013-02-08 02:55 pm (UTC)