Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Какую выбрать БД? (https://javascript.ru/forum/offtopic/49550-kakuyu-vybrat-bd.html)

cyber 18.08.2014 11:26

Какую выбрать БД?
 
Не могу решить какая лучше подойдет БД NoSql или Sql

ЗАдача для которой это нужно:
Нода парсит сайт и отдает данные при запросе мобильному приложению. (все просто)

Данные по сути будут отдаваться с ОЗУ так как обьем не большой и это будет быстрее чем работа с базой. БД нужна что бы после парсинга сохранить данные, и если к примеру приложение упадет то что бы не парсить заново взять их с БД.

Так какая БД подойдет лучше?

l-liava-l 18.08.2014 11:28

postgresql в тренде... вы че все на мобильные приложения подсели, конкуренты)

ixth 18.08.2014 11:30

Memcached, Redis? ХЗ, по-моему, подойдет любая key-value.

cyber 18.08.2014 11:30

Цитата:

Сообщение от l-liava-l
postgresql в тренде... вы че все на мобильные приложения подсели, конкуренты)

Неа, разная аудитория)

cyber 18.08.2014 11:32

Цитата:

Сообщение от ixth
Memcached

Не совсем понял про эту штуку, если упадет приложение данные всеравно остануться в ОЗУ?

cyber 18.08.2014 11:37

И кто может обьяснить что такое "Атомарные операции" с примером если не тяжело)
А то не фига не понятно
Цитата:

Атомарные операции — операции, выполняющиеся как единое целое, либо не выполняющиеся вовсе. Атомарность операций имеет особое значение в многопроцессорных компьютерах (и многозадачных операционных системах), так как доступ к разделяемым ресурсам должен быть обязательно атомарным.

Атомарная операция открыта влиянию только одного потока.

Атомарность бывает аппаратной (когда непрерывность обеспечивается аппаратурой) и программной, когда используются специальные средства межпрограммного взаимодействия: мьютекс, семафор. По своей сути программные средства обеспечения атомарности представляют собой два этапа: блокировка ресурса и выполнение самой операции. Блокировка представляет собой атомарную операцию, которая либо успешна, либо возвращает сообщение о занятости.

ixth 18.08.2014 11:38

Приложение упадет, memcached останется. )
Тут я лоханулся, memcached не умеет дампиться на диск без костылей. Редис это умеет из коробки: http://redis.io/topics/persistence.

ixth 18.08.2014 11:40

Цитата:

так как доступ к разделяемым ресурсам должен быть обязательно атомарным.
Ну, допустим, ты производишь транзакцию. Пока ты это делаешь, условно говоря, никто не может писать в базу, чтобы не затереть твои данные.

cyber 18.08.2014 11:41

ixth, спасибо

Gozar 18.08.2014 11:46

Цитата:

Сообщение от cyber
"Атомарные операции" с примером

Даже не знаю что за пример ты хочешь?!

Вкратце: Из-за того, что к базе имеют одновременный доступ несколько клиентов могут возникать "строки призраки". Другими словами Один клиент удалил строку, а другой пытается в нее записать данные. Нарушается целостность базы данных.

Это то, что я про mysql читал. У меня подобной ситуации не встречалось в практике, но говорят бывает на MyIsam, для того, чтобы подобного небыло либо юзать блокировки таблиц, либо innodb тип таблицы.

http://www.nestor.minsk.by/kg/2003/50/kg35010.html


Часовой пояс GMT +3, время: 15:45.