Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 12 13 14 15 16 [17] 18 19 20 21 .. 25   вперед  Ctrl
 Re: Конец SQL?  [new]
SERG1257
Member

Откуда:
Сообщений: 2934
mayton
Пока такой вопрос не решён я даже не могу ничего начать проектировать.
Это если вы деньги считаете.
А если у вас социальная сеть и если Вася не увидит свой комментарий (благо вероятность такого исчезающе мала) ничего страшного не произойдет. А если Вася заметит тормоза то уйдет к конкуренту. Причем тот же самый Вася согласен подождать, если речь идет о платеже.
29 янв 13, 13:31    [13844006]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
okidoki
Member

Откуда:
Сообщений: 36
mayton
Щас смотрю видеокаст одного индуса. Называется Introduction to MongoDb Database (v=iRDOGkFKBRw).

Забавно. На 6-й минуте показан результат реквеста к учебной БД Northwind.
(Возможно это не тот Nothwind который в туториалах от МС т.к. структура
сущностей несколько отличается)

Поиск всех документов категорий где Name="Liqior".
> var category = db.categories.findOne({"Name":"Liqior"});
category
{
     "_id" : ObjectId("8526893465872638.........."),
     "Name":"Liqior",
     "Prodicts" : [
          {
                "Name" : "Tea",
                "Price" : 10
          },
          {
                "Name" : "Juice",
                "Price" : 5.5
          }
     ]
}

(сорь за ошибки. Пишу как вижу с скринкаста)

В документы хардкодится некий идентификатор. Скрытый _id. Нечто вроде
ROWID в Oracle. Судя по всему генерится суррогатно. Возможно NoSQL-ная БД не может
вобщем-то совсем отказаться от внутренних идентификаторов объектов
(блоков строк или ид-строк) внутри себя.
Дак я же об этом и писаллл. Если не укажешь внешний ИД, то генерится внутренний в любом случае. На этот внутренний можно ссылаться как внутри коллекции, так и из других. То есть NoSQL теоретически по возможностям не уступает SQL-СУБД.

Другое дело в реализации. В MongoDB переход из коллекции в коллекцию выполняется через CURSOR. Фактически вручную :). Пока я знаю переходы легко выражаются только на моем любимом языке Zigzag. Но в MongoDB используется JSON, который сейчас набирает популярность. Плюс (точнее минус), этот переход задается скриптом, который выполняется на клиенте. А это уже совсем никуда не годится... Вот такие дела :(
29 янв 13, 14:33    [13844569]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
okidoki
Member

Откуда:
Сообщений: 36
ИД в MongoDB имеет примерно такую закодированную структуру время-клиент-процесс-счетчик. На местк "клиента" перекодируется IP , чтобы работать с распределенными БД
29 янв 13, 14:39    [13844624]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53055
okidoki
ИД в MongoDB имеет примерно такую закодированную структуру время-клиент-процесс-счетчик. На местк "клиента" перекодируется IP , чтобы работать с распределенными БД

Я понял. Я читал где-то про подобную схему генерации 128-битного sysguid.
Там как-раз был смысл генерации в offline разпределённых inserts с последующим
слиянием.
29 янв 13, 14:43    [13844668]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
okidoki
Member

Откуда:
Сообщений: 36
okidoki
ИД в MongoDB имеет примерно такую закодированную структуру время-клиент-процесс-счетчик. На местк "клиента" перекодируется IP , чтобы работать с распределенными БД
Извиняюсь, отвлекся. Правильнее время-сервер-процесс-счетчик
29 янв 13, 14:49    [13844729]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
okidoki
Если не укажешь внешний ИД, то генерится внутренний в любом случае. На этот внутренний можно ссылаться как внутри коллекции, так и из других. То есть NoSQL теоретически по возможностям не уступает SQL-СУБД.

в теории РМД нет никаких скрытых идентификаторов. С другой стороны таковые были и до РМД в иерархичких СУБД, т.е. вставить их ниче хитрого нет в любую СУБД. Зато могут быть отличия по другим более существенным возможностям, про которые здесь пытались спрашивать, но ответа пока нет. Потому, скорее всего, их наличие отсуствие не имеет решающего значения для "теоретиченского не уступания по возмодностям."
29 янв 13, 15:10    [13844894]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53055
Думаю что скрытые ID должны существовать в любых системах где есть
серализация в хранилище. Это может быть комбинация FILE_ID+BLOCK_ID+ROW_ID
или любой другой способ описания физического нахождения кортежа
на диске.
29 янв 13, 15:14    [13844906]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
mayton
Думаю что скрытые ID должны существовать в любых системах где есть
серализация в хранилище.

Думать мы можем что угодно. Другое дело соображать (шуткэ).
Вот Кодд автор РМД, скорее всего, так не думал.
Видимо считал это каким-то физическими деталями, от которых должна быть очищена логическая МД.
Так или иначе, нельзя исключать, что есть более важные аспекты при сравнении, чем "скрытые ID".
29 янв 13, 15:34    [13845091]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53055
ОК. Я отвлекся. Цель моего теста - сравнить возможности MongoDB и .... скажем Oracle
при проектировании БД. И выявить недостатки самого процесса проектирования NoSQL-ных
БД на примере ОО-БД MongoDB.

Я оторвался от диалектического спора SQL-vs-NoSQL. Он мне неинтересен. Он не помогает
мне в решении насущных вопросв.
29 янв 13, 15:50    [13845257]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
servit
Member

Откуда: г. Кишинёв, Республика Молдова
Сообщений: 3148
Блог
mayton
И выявить недостатки самого процесса проектирования NoSQL-ных БД на примере ОО-БД MongoDB.
Почему не ДО (Документо-Ориентированная)?

PS: с инаугурацией Вас.
29 янв 13, 16:27    [13845580]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
mayton
В MongoDB после аварии питания что я вижу? Логов нет. Транзакции прошли на половину.
Я не знаю какие документы рассогласованы. Что мне делать? Куда бежать и что
смотреть? Пока такой вопрос не решён я даже не могу ничего начать проектировать.

Отсутствие транзакционности это все-таки не общий недостаток NoSQL подхода, а конкретной его реализации в виде MongoDB. Понятно, что это недостаток очень существенный, но мне сейчас интересней понять принципы проектирования для NoSql не обращая внимания на транзакции. Пока я вообще не вижу способа в модели MongoDB реализовать что-то более сложное, чем телефонный справочник - то есть все структура данных глухо завязана на единственную решаемую задачу и никаких средств работы именно с данными вообще не представляет.
29 янв 13, 16:31    [13845622]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53055
servit
mayton
И выявить недостатки самого процесса проектирования NoSQL-ных БД на примере ОО-БД MongoDB.
Почему не ДО (Документо-Ориентированная)?

PS: с инаугурацией Вас.

Верно. Я ошибся. Конечно-же ДО(Документно-Ориентированная)-DBMS.
29 янв 13, 16:34    [13845654]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53055
По поводу транзакций. Я пока забью на этот нюанс. Буду считать что
его просто нет. (По сабжу кое-что пишут про атомарность операций).

Transactions

MongoDB doesn’t have transactions. It has two alternatives, one which is great but with limited use, and the other that
is cumbersome but flexible.

The first is its many atomic operations. These are great, so long as they actually address your problem. We already
saw some of the simpler ones, like $inc and $set. There are also commands like findAndModify which can update or
delete a document and return it atomically.

The second, when atomic operations aren’t enough, is to fall back to a two-phase commit. A two-phase commit is
to transactions what manual dereferencing is to joins. It’s a storage-agnostic solution that you do in code. Twophase
commits are actually quite popular in the relational world as a way to implement transactions across multiple
databases. The MongoDB website has an example illustrating the most common scenario (a transfer of funds). The
general idea is that you store the state of the transaction within the actual document being updated and go through
the init-pending-commit/rollback steps manually.

MongoDB’s support for nested documents and schema-less design makes two-phase commits slightly less painful, but
it still isn’t a great process, especially when you are just getting started with it.
29 янв 13, 16:41    [13845710]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54849

It’s a storage-agnostic solution that you do in code

Т.е. опять же "если вы хотите, что-то сложнее палки-копалки, то можете закодить это сами".
Как закодить атомарность - вот вам пример. Как сделать изолированность - догадайтесь сами.
Изобретите велосипедблокировки или версионность.

Posted via ActualForum NNTP Server 1.5

29 янв 13, 17:18    [13846035]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
servit
Member

Откуда: г. Кишинёв, Республика Молдова
Сообщений: 3148
Блог
Bogdanov Andrey
но мне сейчас интересней понять принципы проектирования для NoSql
Причём в некоторых NoSQL системах можно реализовать модели, использующиеся в других NoSQL системах: Универсальное NoSQL - введение в теорию
29 янв 13, 17:23    [13846082]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53055
Чем больше я узнаю о NoSQL системах тем в большее уныние я впадаю.
Я конечно понимаю что только настоящие trueЪ мэны реализуют
сложные базы поверх систем в которых нет транзакций в принципе.
Такой низкоуровневый инструментарий должен с одной стороны
страшно закалить волю а с другой стороны свести на нет развитие
собственно инструментария. Или фреймворка. Или ядра подобных
систем. Вы по сути жонглируя объектами мультизадачности
в пространстве своего процесса должны каким-то образом
эмулировать транзакции. И это плод 30-летней эволюции?
Чем здесь гордиться? Коллеги!
29 янв 13, 17:24    [13846094]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
okidoki
ИД в MongoDB имеет примерно такую закодированную структуру время-клиент-процесс-счетчик. На местк "клиента" перекодируется IP , чтобы работать с распределенными БД
Не обязательно.
_id в MongoDB - это служебное поле, служит первичным ключом документа.
Если при добавлении документа оно не указано, только тогда и генерируется уникальный ObjectId. Никто не запрещает ни вам, ни драйверу генерировать что-то своё.
У нас к примеру в рамках бд _id не уникальны.
29 янв 13, 17:26    [13846108]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
mayton
Чем больше я узнаю о NoSQL системах тем в большее уныние я впадаю.
Я конечно понимаю что только настоящие trueЪ мэны реализуют
сложные базы поверх систем в которых нет транзакций в принципе.
Такой низкоуровневый инструментарий должен с одной стороны
страшно закалить волю а с другой стороны свести на нет развитие
собственно инструментария. Или фреймворка. Или ядра подобных
систем. Вы по сути жонглируя объектами мультизадачности
в пространстве своего процесса должны каким-то образом
эмулировать транзакции. И это плод 30-летней эволюции?
Чем здесь гордиться? Коллеги!
Приезжайте лучше на следующую конференцию HighLoad++, чем впадать в уныние
29 янв 13, 17:29    [13846136]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
mayton

Я оторвался от диалектического спора SQL-vs-NoSQL. Он мне неинтересен. Он не помогает
мне в решении насущных вопросв.

Однако, эта тема называется "Конец SQL". Если это не интересно, то лучше найти или создать другую. А то базы типа проектируем, а даже название темы на форуме плохо соотносится с содержанием. Скажут что же у них в баз тада творится.
29 янв 13, 17:30    [13846145]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53055
Справедливо. Создам форк. Чуть позже.
29 янв 13, 18:50    [13846707]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
DPH3
Member

Откуда:
Сообщений: 456
skyANA
И это плод 30-летней эволюции?
Чем здесь гордиться? Коллеги!
Приезжайте лучше на следующую конференцию HighLoad++, чем впадать в уныние [/quot]

А что Highload? Ну, как подавляющее число разработчиков не умело работать с БД, так и не умеет. Теперь, правда, они не умеют работать еще и с NoSQL... Ничего не изменилось :)

Исключения есть - но им то пофиг, на чем работать и что использовать. Инструмент ищут под задачу. И, в основном, это таки РСУБД оказываются.
29 янв 13, 19:15    [13846902]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53055
По HighLoad - большое спасибо. Завидую. Но приехать не смогу.
Украина держит в крепких объятиях

Но на новости подпишусь с удвольствием.
29 янв 13, 19:20    [13846923]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
servit
Причём в некоторых NoSQL системах можно реализовать модели, использующиеся в других NoSQL системах: Универсальное NoSQL - введение в теорию
MUMPS мне не интересен (тем более в такой откровенно рекламной подаче). Он проиграл рсубд еще 30 лет назад. Интересно именно то, что появилось относительно недавно и так громко пытается хоронить рсубд.
29 янв 13, 20:35    [13847252]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53055
Я слышал тезис о том что на Мумпс делают движки DBMS
но что-то как-то не вериться. Базы - верю. А DBMS
- не слыхал. Хоть бы кто-то ознакомил со списком
удачно реализованных.
29 янв 13, 20:50    [13847321]     Ответить | Цитировать Сообщить модератору
 Re: Конец SQL?  [new]
servit
Member

Откуда: г. Кишинёв, Республика Молдова
Сообщений: 3148
Блог
mayton
Я слышал тезис о том что на Мумпс делают движки DBMS
Обычно движки делают на C++, которые в свою очередь используют стандарты "ANSI X11.1-1995", "ISO/IEC 11756:1999".
Помимо СУБД Caché ещё есть:
  • MiniM Database Server
  • GT.M
  • Globals
  • 29 янв 13, 21:18    [13847431]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: Ctrl  назад   1 .. 12 13 14 15 16 [17] 18 19 20 21 .. 25   вперед  Ctrl
    Все форумы / Сравнение СУБД Ответить