Повечето софтуерни приложения в днешно време включват някакво динамично съхранение на данни за обширна бъдеща справка в самото приложение. Всички знаем, че данните се съхраняват в база данни, която попада в две категории, които са:релационни и нерелационни СУБД.
Изборът ви на избор от тези две ще зависи изцяло от вашата структура на данните, количеството на включените данни, производителността на базата данни и мащабируемостта.
Релационните СУБД съхраняват данни в таблици по отношение на редове, така че да използват Structured Querying Language (SQL), което ги прави добър избор за приложения, включващи няколко транзакции. Те включват MySQL, SQLite и PostgreSQL.
От друга страна, NoSQL СУБД като MongoDB са ориентирани към документи, така че данните се съхраняват в колекции по отношение на документи. Това дава по-голям капацитет за съхранение на голям набор от данни, следователно допълнително предимство в мащабируемостта.
В този блог предполагаме, че имате по-добри познания за MongoDB или MySQL и следователно бихте искали да знаете връзката между двете по отношение на заявките и структурата на базата данни.
По-долу е дадена таблица за мами, за да се запознаете допълнително със заявките на MySQL към MongoDB.
Чайт лист от MySQL към MongoDB - Условия
Условия на MySQL | Условия на MongoDB | Обяснение |
---|---|---|
Таблица | Колекция | Това е контейнерът за съхранение на данни, които обикновено са подобни в съдържащите се обекти. |
Ред | Документ | Дефинира единичния обект в таблицата за MySQL и колекция в случая на MongoDB. |
Колона | Поле | За всеки съхранен елемент той има свойства, които са дефинирани от различни стойности и типове данни. В MongoDB документите в една и съща колекция може да имат различни полета едно от друго. В MySQL всеки ред трябва да бъде дефиниран със същите колони от съществуващите. |
Първичен ключ | Първичен ключ | Всеки съхранен обект се идентифицира с уникална стойност на полето в случая на MongoDB ние имаме поле _id, зададено автоматично, докато в MySQL можете да дефинирате свой собствен първичен ключ, който се увеличава, докато създавате нови редове. |
Съединения на таблици | Вграждане и свързване на документи | Връзка, свързана с обект в различна колекция/таблица с данни в друга колекция/таблица. |
къде | $match | Избиране на данни, които отговарят на критериите. |
група | $group | Групиране на данни според някои критерии. |
отпуснете | $unset | Премахване на колона/поле от ред/документ/ |
настройка | $set | Задаване на стойността на съществуваща колона/поле на нова стойност. |
Изявления за схема
Изявления на MySQL таблица | Изявления за събиране на MongoDB | Обяснение |
---|---|---|
Базата данни и таблиците се създават изрично чрез администраторския панел на PHP или се дефинират в рамките на скрипт, т.е. Създаване на база данни Създаване на таблица | Базата данни може да бъде създадена имплицитно или изрично. Неявно по време на първото вмъкване на документ базата данни и колекцията се създават, както и автоматично поле _id, което се добавя към този документ. Можете също да създадете базата данни изрично, като стартирате този коментар в Mongo Shell | В MySQL трябва да посочите колоните в таблицата, която създавате, както и да зададете някои правила за валидиране, като в този пример типа данни и дължината, които отиват към конкретна колона. В случая на MongoDB не е задължително да се дефинират нито полетата, които всеки документ трябва да съдържа, нито правилата за валидиране, които посочените полета трябва да съдържат. Въпреки това, в MongoDB за целостта и последователността на данните можете да зададете правилата за валидиране с помощта на JSON SCHEMA VALIDATOR |
Изпускане на маса | | Това са изрази за изтриване на таблица за MySQL и колекция в случая на MongoDB. |
Добавяне на нова колона, наречена join_date Премахване на колоната join_date, ако вече е дефинирана | Добавяне на ново поле, наречено join_date Това ще актуализира всички документи в колекцията, за да имат датата на присъединяване като текуща дата. Премахване на полето join_date, ако вече е дефинирано Това ще премахне полето join_date от всички документи за събиране. | Промяна на структурата на схемата чрез добавяне или пускане на колона/поле. Тъй като архитектурата MongoDB не налага стриктно на структурата на документа, документите може да имат полета, различни едно от друго. |
Създаване на индекс с нарастваща колона UserId и низходяща възраст | Създаване на индекс, включващ полетата UserId и Age. | Индексите обикновено се създават, за да улеснят процеса на заявка. |
| | Вмъкване на нови записи. |
| | Изтриване на записи от таблицата/колекцията, чиято възраст е равна на 25. |
| | Изтриване на всички записи от таблицата/колекцията. |
| | Връща всички записи от таблицата/колекцията на потребителите с всички колони/полета. |
| | Връща всички записи от таблицата/колекцията на потребителите с колони/полета за възраст, пол и първичен ключ. |
| | Връща всички записи от таблицата/колекцията на потребителите с колони/полета за възраст и пол. Първичният ключ е пропуснат. |
| | Връща всички записи от таблицата/колекцията на потребителите, чиято стойност за пол е зададена на M. |
| | Връща всички записи от таблицата/колекцията на потребителите само със стойността за пол, но чиято стойност за възраст е равна на 25. |
| | Връща всички записи от таблицата/колекцията на потребителите, чиято стойност за пол е зададена на F и възраст е 25. |
| | Връща всички записи от таблицата/колекцията на потребителите, чиято стойност за възраст не е равна на 25. |
| | Връща всички записи от таблицата/колекцията на потребителите, чиято стойност за пол е зададена на F или възраст е 25. |
| | Връща всички записи от таблицата/колекцията на потребителите, чиято стойност за възраст е по-голяма от 25. |
| | Връща всички записи от таблицата/колекцията на потребителите, чиято стойност за възраст е по-малка или равна на 25. |
| | Връща всички записи от таблицата/колекцията на потребителите, чиято стойност на Име има букви He. |
| | Връща всички записи от таблицата/колекцията на потребителите, чиято стойност за пол е зададена на F и сортира този резултат във възходящ ред на колоната id в случай на MySQL и време, вмъкнато в случай на MongoDB. |
| | Връща всички записи от таблицата/колекцията на потребителите, чиято стойност за пол е зададена на F и сортира този резултат в низходящ ред на колоната id в случай на MySQL и време, вмъкнато в случай на MongoDB. |
| или | Преброява всички записи в таблицата/колекцията на потребителите. |
| или | Преброява всички записи в таблицата/колекцията на потребителите, които случайно имат стойност за свойството Name. |
| или | Връща първия запис в таблицата/колекцията на потребителите. |
| | Връща първия запис в таблицата/колекцията на потребителите, който случайно има стойност на пола, равна на F. |
| | Връща петте записа в таблицата/колекцията на потребителите след пропускане на първите пет записа. |
| | Това задава възрастта на всички записи в таблицата/колекцията с потребители, които имат възраст над 25 до 26 години. |
| | Това увеличава възрастта на всички записи в таблицата/колекцията на потребителите с 1. |
| | Това намалява възрастта на първия запис в таблицата/колекцията на потребителите с 1. |
За да управлявате MySQL и/или MongoDB централизирано и от една точка, посетете:https://severalnines.com/product/clustercontrol.