|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
Привет всем!) Спустя нескольких дней чтения о том что же такое NoSQL базы, какие есть и какие преимущества дают, остается ряд вопросов на которые пока нет ответа. 1) Нет транзакций. Как происходит выполнение операцией над балансом например либо коллективные операции над одними и теми же данными? 2) Нет транзакций = не ясно как работает многоверсионность. Что будет видеть второй пользователь, если первый еще не завершил изменения? 3) Например в Oracle есть pl/SQL в нем можно легко заложить всю бизнес-логику внутри самого сервера, и все операции выполнять там, как это происходит в noSQL? той же касандре или монго. Есть ли там что-то подобное? 4) Снова же, если нет транзакций, нет и автономных транзакций значит, как выполнять безоткатный аудит? 5) Можно ли вообще какие либо вычисления делать внутри сервера, либо это все нужно делать на клиенте? 6) Есть ли триггеры и как работают? 7) Есть ли джобы? 8) поддерживают ли индексы возможность индексирования по возрастанию\убыванию? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 10:59 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
NoSQL - это довольно общее название сборника разношерстных изделий. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 12:16 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
ZalmСпустя нескольких дней чтения о том что же такое NoSQL базыЧто именно Вы читали? Погуглите "nosql transactional database". NoSQL СУБД разные бывают, в том числе и с поддержкой транзакций, например GlobalsDB , GT.M , Caché их поддерживают. СУБД Caché помимо прочего поддерживает вложенные транзакции ; имеет мощные серверные языки (чаще используется COS - Caché Object Script), соответственно всю логику можно сделать прямо на сервере; триггеры ; джобы ; индексы и много чего ещё. Рядом есть ветка , посвящённая именно этой СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 12:22 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
Zalm, NoSQL это попытка работать с большими (для наличного оборудования) объёмами данных. Соответственно при этом лишаемся многого. Где-то нет индексов, кроме первичных, нет транзакций и т.д. и т.п. Каждый разработчик сам решает, чем ему жертвовать, а что оставить (проще сделать хорошо, то, что нужно, да и дешевле разработка). Индексы по другим полям (кроме ключа)- в монге есть, в hbase, например, нет. То, что нет транзакций - не значит, что нет атомарности. Обычно изменения одной строки либо прошли, либо нет. Процедуры/триггера/job'ы на сервере- мне пока не надо было, может кто и реализовал, хотя вряд ли. Скорее предполагается, что всё вычисляется в приложении. В общем- надо понимать, что NoSQL- это экономия денег на железе. И эта экономия не бесплатна. Зато плюс- обычно очень развита кластеризация. Софт может работать рядом с БД и иметь к ней быстрый доступ. При этом машины в кластере, опять же, не менфреймы, а какие-нибудь блейд-сервера задёшево. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 12:31 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
servitСУБД Caché помимо прочего поддерживает Всё же Caché обычно в "NoSQL" не включают- это хоть и "не-SQL" база, но всё же она не совсем в тренде нынешней моды. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 12:33 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
Alexey TominZalm, NoSQL это попытка работать с большими (для наличного оборудования) объёмами данных. Соответственно при этом лишаемся многого. Где-то нет индексов, кроме первичных, нет транзакций и т.д. и т.п. Каждый разработчик сам решает, чем ему жертвовать, а что оставить (проще сделать хорошо, то, что нужно, да и дешевле разработка). Индексы по другим полям (кроме ключа)- в монге есть, в hbase, например, нет. То, что нет транзакций - не значит, что нет атомарности. Обычно изменения одной строки либо прошли, либо нет. Процедуры/триггера/job'ы на сервере- мне пока не надо было, может кто и реализовал, хотя вряд ли. Скорее предполагается, что всё вычисляется в приложении. В общем- надо понимать, что NoSQL- это экономия денег на железе. И эта экономия не бесплатна. Зато плюс- обычно очень развита кластеризация. Софт может работать рядом с БД и иметь к ней быстрый доступ. При этом машины в кластере, опять же, не менфреймы, а какие-нибудь блейд-сервера задёшево. Спасибо Интересует больше направление касандры что о ней можете сказать? как там та же многоверсионность работает, или не работает? что будет когда оба пользователя захотят одно и то же поменять? Друзья вздумали полностью на касандре построить систему управления рекламой, тизеры банеры и тд))) и я пока не понимаю насколько это реально, хотя мне кажется это мало реально, так как даже с теми же деньгами не понятно как без транзакций управляться. Там возможны варианты только в виде бд+приложение? Например как оракл он может самодостаточно работать с вебом и без доп приложений. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 12:42 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
Alexey Tominно всё же она не совсем в тренде нынешней модыМода приходит и уходит, а продукт должен продолжать стабильно работать и поддерживать текущие веяния этой самой моды. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 12:44 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
servitAlexey Tominно всё же она не совсем в тренде нынешней модыМода приходит и уходит, а продукт должен продолжать стабильно работать и поддерживать текущие веяния этой самой моды. Согласен. Но всё же Caché немного другое. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 12:48 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
ZalmИнтересует больше направление касандры что о ней можете сказать? Ничего :) ZalmДрузья вздумали полностью на касандре построить систему управления рекламой, тизеры банеры и тд))) и я пока не понимаю насколько это реально, хотя мне кажется это мало реально, так как даже с теми же деньгами не понятно как без транзакций управляться. Я б сделал отдельную БД для оперативной работы (показ баннеров и т.п.) и отдельную- для биллинга. ZalmТам возможны варианты только в виде бд+приложение? Например как оракл он может самодостаточно работать с вебом и без доп приложений. Я б даже на окрале не стал бы делать веб без приложения. Точнее так- я НЕ ДЕЛАЮ веб без приложения. Т.к. мухи (код) отдельно, а котлеты (хранение данных)- отдельно. Базы данных хорошо хранят данные, а java (просто это мой инструмент- есть и другие)- хорошо обрабатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 12:51 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
делать одну бд для билинга одну для оперативной работы нет смысла, каждый клик по банеру это деньги, это и есть оперативная работа. и кликов обычно много, так как я разраб оракла, как делать такую работу без транзакций я не представляю. В итоге вопрос, насколько реально сделать систему по управлению рекламой чисто на касандре? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 13:08 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
Сорри, офтопик: Alexey TominВсё же Caché обычно в "NoSQL" не включают- это хоть и "не-SQL" база, Скорее наоборот - и SQL база, и NoSQL база. И SQL есть, и "key-value" доступ есть. И к одним и тем же данным. Zalm, Мое небольшое "имхо" , на основе работы с NoSQL возможностями СУБД Cache. 1)Транзакции есть. 2)Что будет видеть второй пользователь, если первый еще не завершил изменения? В NoSQL Cache можно сделать и так и этак, чтобы видел, и чтобы не видел (управляя блокировкой). 3)В Cache есть свой язык и можно писать бизнес логику. 4)Что такое "безоткатный аудит"? Журнал СУБД? Журнал есть, откат транзакций работает на его основе. 5)См.п.3. 6)Триггеров нет, т.к. нет метаданных (я про NoSQL Cache). 7)Джобы в Cache есть. 8)В NoSQL Cache индексы строятся программистом и читать их можно вперед и назад. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 13:47 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
DirksDRСорри, офтопик: Alexey TominВсё же Caché обычно в "NoSQL" не включают- это хоть и "не-SQL" база, Скорее наоборот - и SQL база, и NoSQL база. И SQL есть, и "key-value" доступ есть. И к одним и тем же данным. Zalm, Мое небольшое "имхо" , на основе работы с NoSQL возможностями СУБД Cache. 1)Транзакции есть. 2)Что будет видеть второй пользователь, если первый еще не завершил изменения? В NoSQL Cache можно сделать и так и этак, чтобы видел, и чтобы не видел (управляя блокировкой). 3)В Cache есть свой язык и можно писать бизнес логику. 4)Что такое "безоткатный аудит"? Журнал СУБД? Журнал есть, откат транзакций работает на его основе. 5)См.п.3. 6)Триггеров нет, т.к. нет метаданных (я про NoSQL Cache). 7)Джобы в Cache есть. 8)В NoSQL Cache индексы строятся программистом и читать их можно вперед и назад. Безоткатный аудит это когда некоторые операции могут быть закомичены в рамках общих операций которые будут откачены))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 14:03 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
Zalmделать одну бд для билинга одну для оперативной работы нет смысла, каждый клик по банеру это деньги, это и есть оперативная работа. и кликов обычно много, так как я разраб оракла, как делать такую работу без транзакций я не представляю. В оперативной бд учитываются клики. Потом они выгружаются в оракл, возможно с агрегацией (по дням, например) и дальше выставляется счёт и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 14:45 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
Alexey TominZalmделать одну бд для билинга одну для оперативной работы нет смысла, каждый клик по банеру это деньги, это и есть оперативная работа. и кликов обычно много, так как я разраб оракла, как делать такую работу без транзакций я не представляю. В оперативной бд учитываются клики. Потом они выгружаются в оракл, возможно с агрегацией (по дням, например) и дальше выставляется счёт и т.п. Вопрос стоит другой, насколько адекватно такие проекты делать ONLY Cassandra, без каких либо других баз и всего прочего ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 15:08 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
ZalmВопрос стоит другой, насколько адекватно такие проекты делать ONLY Cassandra, без каких либо других баз и всего прочего Если уже есть положительный опыт- то почему бы и нет? А вот если человек прочитал про неё и решил "ух ты, круто, фейсбук сделал"- то, наверное, не стоит. Любой инструмент хорош, если им уметь пользоваться. Если "подложить" её под фабрику веб-серверов - то это, наверное, хороший вариант. Но делать биллинг (с хранение версионной картотеки абонентов/тарифов, выставлением счетов и т.п.)- я б не взялся. Сейчас на проекте используем hadoop+oracle+mongo. Расчёт данных в хадупе (с hbase+solr), слив результатов в oracle, на нём веб-интерфейс, где операторы анализируют результаты расчётов и ставят задачи. А в интернет торчит пачка серверов в облаке, опирающихся на mongo (куда задачки идут из oracle). И всё на своём месте- hadoop даёт возможность проводить большие расчёты за разумное время, oracle обеспечивает мгновенный отклик, в т.ч. на сложных запросах, mongodb - не требует ресурсов на облаке и проста в использовании. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 15:35 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
Alexey TominZalmВопрос стоит другой, насколько адекватно такие проекты делать ONLY Cassandra, без каких либо других баз и всего прочего Если уже есть положительный опыт- то почему бы и нет? А вот если человек прочитал про неё и решил "ух ты, круто, фейсбук сделал"- то, наверное, не стоит. Любой инструмент хорош, если им уметь пользоваться. Если "подложить" её под фабрику веб-серверов - то это, наверное, хороший вариант. Но делать биллинг (с хранение версионной картотеки абонентов/тарифов, выставлением счетов и т.п.)- я б не взялся. Сейчас на проекте используем hadoop+oracle+mongo. Расчёт данных в хадупе (с hbase+solr), слив результатов в oracle, на нём веб-интерфейс, где операторы анализируют результаты расчётов и ставят задачи. А в интернет торчит пачка серверов в облаке, опирающихся на mongo (куда задачки идут из oracle). И всё на своём месте- hadoop даёт возможность проводить большие расчёты за разумное время, oracle обеспечивает мгновенный отклик, в т.ч. на сложных запросах, mongodb - не требует ресурсов на облаке и проста в использовании. какой должен быть положительный опыт что бы безтранзакционная "база" могла отлично работать с деньгами и которая не гарантирует что все данные будут сохранены?) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 16:32 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
ZalmКакой должен быть положительный опыт что бы безтранзакционная "база" могла отлично работать с деньгами и которая не гарантирует что все данные будут сохранены?) Почему не гарантирует? Гарантирует. Отсутствуют транзакции, но не вот всё плохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 16:56 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
[quot Zalm] Спасибо Zalmкак там та же многоверсионность работает, или не работает? что будет когда оба пользователя захотят одно и то же поменять? А нет там изоляции, зачем она. Если нужна очень быстрая БД с нормальным ACID - то смотри на VoltDB. Но он с нормальной Durability уже платный ) Друзья вздумали полностью на касандре построить систему управления рекламой, тизеры банеры и тд))) и я пока не понимаю насколько это реально, хотя мне кажется это мало реально, так как даже с теми же деньгами не понятно как без транзакций управляться. А зачем каждый клик писать надежно с транзакциями в приложение? Ну, в худшем случае, потеряем клики или показы за секунду - не так уж и страшно. Более того, для кликов не нужны полноценные транзакции, достаточно просто гарантированной durability, а это гораздо дешевле. Там возможны варианты только в виде бд+приложение? Например как оракл он может самодостаточно работать с вебом и без доп приложений. Ну, по хорошему, он это делает плохо и, все равно, внутри таки есть веб-приложение ) Но так делать не стоит, плохая это идея. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 17:24 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
[quot DPH3]ZalmСпасибо пропущено... А нет там изоляции, зачем она. Если нужна очень быстрая БД с нормальным ACID - то смотри на VoltDB. Но он с нормальной Durability уже платный ) пропущено... А зачем каждый клик писать надежно с транзакциями в приложение? Ну, в худшем случае, потеряем клики или показы за секунду - не так уж и страшно. Более того, для кликов не нужны полноценные транзакции, достаточно просто гарантированной durability, а это гораздо дешевле. пропущено... Ну, по хорошему, он это делает плохо и, все равно, внутри таки есть веб-приложение ) Но так делать не стоит, плохая это идея. Потерять клик это значит терять по ~10р за каждую потерю... так за день можно "натерять" несколько тысяч))) Почему он это плохо делает? пока вообще ничего плохого не замечал, работая с 8 000 000 обращений в сутки, может я чего-то не понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 19:25 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
ZalmПотерять клик это значит терять по ~10р за каждую потерю... так за день можно "натерять" несколько тысяч))) Потери при записи на диск происходят или при падении сервера или при отказе железа, т.е. далеко не каждую неделю - и только в этих сценариях будет разница между транзакциями в реляционке и простыми снэпшотами или логом сообщений в какой-нибудь NoSQL А если железо умирает по нескольку раз в день - то стоит менять железо. Если у тебя тысяча записей в секунду (а на меньшем думать про NoSQL не стоит, там любая бесплатная реляционка выдержит) по 10 рублей за каждую, то можно нормальное железо купить, вполне. Почему он это плохо делает? пока вообще ничего плохого не замечал, работая с 8 000 000 обращений в сутки, может я чего-то не понял? Ну, когда нормальная нагрузка будет - тогда и увидешь плохое. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2015, 03:03 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
"Привет всем!" Дальше можно ТС не читать. Нет постановки задачи, равно как и нет понимания, что требуется для ее решения. Видна только мантра "транзакционность", зачем, кому, хз ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2015, 03:55 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
Зимаргл"Привет всем!" Дальше можно ТС не читать. Нет постановки задачи, равно как и нет понимания, что требуется для ее решения. Видна только мантра "транзакционность", зачем, кому, хз Так и нет задачи никакой, хотел понять что из себя представляет NoSQL ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2015, 15:17 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
ZalmЗимаргл"Привет всем!" Дальше можно ТС не читать. Нет постановки задачи, равно как и нет понимания, что требуется для ее решения. Видна только мантра "транзакционность", зачем, кому, хз Так и нет задачи никакой, хотел понять что из себя представляет NoSQL NoSQL базы данных: понимаем суть ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2015, 16:02 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
skyANAZalmпропущено... Так и нет задачи никакой, хотел понять что из себя представляет NoSQL NoSQL базы данных: понимаем суть Это читал, спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2015, 19:10 |
|
NoSQL объясните)
|
|||
---|---|---|---|
#18+
ZalmПривет всем!) Спустя нескольких дней чтения о том что же такое NoSQL базы, какие есть и какие преимущества дают, остается ряд вопросов на которые пока нет ответа. 1) Нет транзакций. Как происходит выполнение операцией над балансом например либо коллективные операции над одними и теми же данными? 2) Нет транзакций = не ясно как работает многоверсионность. Что будет видеть второй пользователь, если первый еще не завершил изменения? 3) Например в Oracle есть pl/SQL в нем можно легко заложить всю бизнес-логику внутри самого сервера, и все операции выполнять там, как это происходит в noSQL? той же касандре или монго. Есть ли там что-то подобное? 4) Снова же, если нет транзакций, нет и автономных транзакций значит, как выполнять безоткатный аудит? 5) Можно ли вообще какие либо вычисления делать внутри сервера, либо это все нужно делать на клиенте? 6) Есть ли триггеры и как работают? 7) Есть ли джобы? 8) поддерживают ли индексы возможность индексирования по возрастанию\убыванию? Ты видимо про монгу читал, хотя монга и самая распространенная NoSQL база, но при этом сама слабая. 1) В большинстве NoSQL транзакции есть. В монге транзакционный только доступ к одному документу, можно саму транзакцию хранить как документ и реализовать локи поверх этого механизма. Тормозит ацки, как дедлоки разруливать - неясно, автоматического отката нет, не обеспечивает транзакционность при шардинге. 2) Тут все просто. доcтуп к отдельным документам\записям - транзакционный. Множественные операции - нет. Похоже на read commited snapshot в SQL Server. 3) В монге внтури базы выполняется JS. В касандре такого нет, только на клиенте. 4) Путем материализации самих транзакций в базе, но большинство апологетов монги хватит удар от фразы "безоткатный аудит". 5) Зависит от движка, в монге можно, в Cache тоже, а в касандре или redis - нет. 6) Обычно нет 7) Обычно нет 8) Обычно да ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2015, 21:21 |
|
|
start [/forum/topic.php?fid=48&fpage=9&tid=1856846]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
others: | 243ms |
total: | 417ms |
0 / 0 |