sab123: (face)
[personal profile] sab123
К вопросу об NoSQL срачу у [livejournal.com profile] plumqqz.

Читал намедни про Google AppEngine Datastore. Что оно из себя представляет:

Внизу у него Bigtable. То есть, технология, позволяющая эффективно масштабироваться до диких масштабов в хранении пар "ключ-значение" и делать всякую продвинутую репликацию. На самом деле там к этим парам присобачены еще и другие полезные фичи сбоку, но подробности про эту часть могут быть Секретными, поэтому я их рассказывать не буду.

Поверх него сидит Megastore. Оно изображает уже более традиционные реляционные таблицы и индексы, плюс базовую транзакционность и более продвинутую репликацию.

Поверх него сидит уже собственно Datastore. Оно изображает уже вполне трацидионные реляционные таблицы и индексы, более традиционную транзакционность, и даже диалект SQL. Но не только SQL, основной интерфейс для приложений там в стиле Django, который по функциональности аналогичен SQLю и является гораздо более удобным для программирования. А SQL как таковой живет поверх него, более для ручного ковыряния. Довольно забавно, что реляционные таблицы присутствуют на двух уровнях - вся прикладная схема дейтастора отображается в одну таблицу мегастора.

Мораль заключается в том, что жесткой границы sql-nosql нет. Она очень размыта.

Второй занимательный момент заключается в том, что непонятно, почему нельзя было запихнуть бигтейбл как механизм хранения под какую-то более традиционную реляционную базу типа MySQL. Возможно оно просто так исторически выросло, и изначально никто не ожидал что оно дорастет до SQLа. Или возможно дело в вопросах лицензирования.

Date: 2013-02-07 08:47 pm (UTC)
From: [identity profile] plumqqz.livejournal.com
Я, честно говоря, не понимаю, какая в принципе может быть репликация без транзакций.

Date: 2013-02-07 08:54 pm (UTC)
From: [identity profile] sab123.livejournal.com
Такая же, как у Амазона. Insert-only, with timestamps. Поверх которой можно строить транзакции.

Date: 2013-02-07 08:58 pm (UTC)
From: [identity profile] plumqqz.livejournal.com
А, "лифт поднимает только вниз". Ну и по одному человеку.

Date: 2013-02-07 09:11 pm (UTC)
From: [identity profile] sab123.livejournal.com
Впрочем нет, удаление там тоже есть. Я подробности себе представляю довольно туманно.

Но по сути вопроса: не надо путать нутря реализации и интерфейс высокого уровня. У меня есть ощущение, что вы нутря какого-нибудь Оракла никогда не видели, но веруете в интерфейс, и поэтому рассуждаете на уровне маркетинговой литературы.

Date: 2013-02-07 09:17 pm (UTC)
From: [identity profile] plumqqz.livejournal.com
Нутря реализации строятся на основе теоремы о сериализации.

Date: 2013-02-07 09:20 pm (UTC)
From: [identity profile] sab123.livejournal.com
Теорема рассказывает, как оно выглядит снаружи (API). Нутря же можно строить очень по-разному.

Date: 2013-02-08 08:02 am (UTC)
From: [identity profile] plumqqz.livejournal.com
Ну снаружи так снаружи.

Date: 2013-02-08 02:55 pm (UTC)
From: [identity profile] sab123.livejournal.com
Такое ощущение, что вы все эти теоремы и реализации воспринимаете, как нечто, данно богами. А когда кто-то начинает обсуждать их внутреннее устройство (ну, значить, мы, боги, обсуждаем), воспринимаете это как богохульство.

Date: 2013-02-08 07:29 am (UTC)
From: [identity profile] paster.livejournal.com
удаление это тот же insert только специальной пустой записи с флагом "сюда не смотреть".

Date: 2013-02-08 02:42 pm (UTC)
From: [identity profile] sab123.livejournal.com
О, точно.

January 2026

S M T W T F S
     12 3
45 6 7 8 9 10
11 12 13 14 151617
1819202122 23 24
25 262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 27th, 2026 10:43 am
Powered by Dreamwidth Studios