https://devzone.org.ua/feed/tag/nosql2021-06-04T22:05:25+00:00https://devzone.org.ua/39708
MongoDB
MongoDB це крос-платформна, потужна, гнучка, документно-орієнтована база даних, що легко масштабується. Вона також має вбудовану підтримку MapReduce-style Aggregation та Geospatial індексів.
MongoDB складається з баз даних, які зберігають в собі колекції. Кожна колекція складається з документів, які в свою чергу складаються з полів. Поля є парами ключ-значення. Колекції також можуть бути індексовані, що покращує швидкість вибірки та сортування.
Невеличке порівняння SQL з MongoDB
Також слід зауважити, що деякі фічі реляційних БД не підтримуються в Mongo. Наприклад, Join'и та комплексні транзакції. Відмова від них спричинена специфікою платформи, тому що обидва з ним сильно заважають масштабуванню.
Але, дивлячись на останні новини, join'и додад...]]>
2021-06-04T22:05:25+00:00https://devzone.org.ua/33972
Сувора узгодженість і внутрішнє об'єднання даних стали менш важливими за високу доступність, швидкість та можливість горизонтального масштабування. З часом сформувалась стійка думка, що NoSQL бази даних - це для не впорядкованих даних великих розмірів, що необхідно зберігати в кластері та швидко отримувати. Тоді як SQL - це для структурованих даних, які пов'язані відношеннями і повинні бути суворо узгодженими завдяки механізму транзакцій та зовнішніх ключів.
Перед проектування систем програмісти почали запитувати себе: що важливіше - ACID чи висока доступність та швидкість? Така ситуація тривала деякий час, аж поки в NoSQL не з'явились транзакції.
В цій статті я розкажу про транзакції в одній з перших NoSQL б...]]>
2021-03-12T17:57:39+00:00https://devzone.org.ua/33964
1) Увімкніть автентифікацію та авторизацію
Безпека є надзвичайно важливою. Пройшли ті часи, коли для MongoDB було вимкнено безпеку, за замовчуванням, але запустити MongoDB без захисту все одно легко.
Без безпеки та базою даних, прив’язаною до загальнодоступної IP-адреси, кожен може під'єднатися до вашої бази та викрасти ваші дані. Просто додавши деякі важливі параметри конфігурації безпеки MongoDB до вашого конфігураційного файлу, ви можете переконатися, що ваші дані захищені.
Ви також можете налаштувати MongoDB на викор...]]>
2020-11-12T12:49:00+00:00https://devzone.org.ua/33878
Кешування даних (так, банально і нудно, але це класний інструмент для кешування і обійти стороною цей кейс, здається буде не правильно)
Робота з чергами на базі redis
Організація блокувань (mutex)
Робимо систему rate-limit
Pubsub — робимо розсилки повідомлень на клієнти
Буду працювати з сирими redis командами, щоб не зав'язуватися на яку-небудь конкретну бібліотеку, що надає обгортку над цими командами. Код буду писати на PHP з використанням ext-redis, але він тут для наочності, використовувати представлені підходи можна в зв'язці з будь-якою інш...]]>
2020-07-09T12:41:00+00:00https://devzone.org.ua/39681
єдиного стандарту, підтримуваного усіма базами даних - мови структурованих
запитів (SQL). Ми покладались на таблично орієнтовану реляційну базу даних і
використовували її для зберігання та доступу до даних. Ніхто не задумувався
над альтерантивами їй. Проте, часи змінились. Модель NoSQL (Not only SQL)
відкидає багато усталених уявлень про "правильну" структуру баз даних.
Натомість NoSQL пропонує можливість отримати підвищену продуктивність роботи.
Зміни до моделі
Реляційні бази даних завжди ґрунтувалися на незмінних структурованих правилах,
які регулювали проведення транзакцій. Ці правила складають ACID модель, яка
вимагає щоб база даних зберігала атомарність, узгодженість, ізольованість та
довговічність транзакцій. Будь-яка дія, яка може порушити ACID модель є
заборонена.
NoSQL перевертає ACID модель з ніг на голову та дозволяє підхід невтручання до
управління базою даних: BASE модель. Замість жорсткої прив'язки...]]>
2020-05-01T02:09:12+00:00https://devzone.org.ua/39549
Зі збільшенням кількості веб-додатків виникла потреба в хороших механізмах зберігання даних клієнта, і саме тому з'явилась клієнтська БД PouchDB у JavaScript.
Що таке PouchDB?
PouchDB – це відкрита клієнтська база даних у JavaScript, розроблена Apache CouchDB для роботи у браузері.
Що таке база даних у JavaScript?
Якщо дуже просто пояснити, то база даних JavaScript - об'єкт JavaScript, який надає методи (або API), щоб записати, отримати і знайти дані. Насправді, звичайний об'єкт JavaScript - найпростіший тип бази даних JavaScript. Якщо ви знайомі з Meteor, то ви, можливо, чули про Minimongo, яка є іншою клієнтською базою даних JavaScript, яка імітує MongoDB API.
PouchDB – JavaScript реалізація CouchDB. Його мета полягає в тому, щоб наслідувати API CouchDB з майже ідеальною точністю під час роботи в браузері...]]>
2020-03-12T14:46:58+00:00