Системи за управление на бази от данни с отворен код. NoSQL бази от данни.


Категория на документа: Информатика




Реферат на тема
" Системи за управление на бази от данни с отворен код. NoSQL бази от данни "

Разработил:
Поля Стоянова Колева
Фак. №: 801001
Спец. "Компютърни науки.Приложни компютърни науки - дистанционно обучение"
I семестър

Системи за управление на бази от данни с отворен код. NoSQL бази от данни

I. СУБД с отворен код

Система за управление на бази данни (СУБД) е набор от компютърни програми, които контролират създаването, поддържането и използването на база данни. Тя позволява на организациите да поставят контрола над разработката на базата данни в ръцете на администраторите на бази данни и други специалисти. СУБД е системен софтуерен пакет, който спомага за използването на интегрирана колекция от записи от данни и файлове, известни като бази данни. Тя позволява на различни програмни приложения с потребителски интерфейс лесно да получат достъп до една и съща база данни.
Услугата Microsoft SQL е много популярна и разпространена сред разработчиците на софтуер, но тя има и много ограничения. Освен това е платена и със затворен код, което я прави не толкова достъпна за малки фирми и отделни разработчици.
За тази цел на помощ идват системите за управление на бази данни с отворен код. Освен, че се разпространяват свободно (безплатно), изходният код на тези системи е публично достъпен за преглед и редактиране. Това дава голяма свобода на използващите този тип СУБД да ги изменят и приспособят към собствените си нужди.
Често терминът "отворен код" се използва в смисъла на "свободен софтуер", но идеята за отворения код е много по-силно ориентирана към свободното разпространение на изходния код, отколкото към това, че са безплатни.
Във връзка с използването на софтуер с отворен код за разработка на приложения, възниква така наречената LAMP архитектура. LAMP архитектури са използвани за определени приложения за бази данни и системи, които отговарят на определен набор от критерии. Самия акроним LAMP се използва като определение на най-популярния софтуер с отворен код - Linux, Apache Web server, MySQL база данни и езиците за програмиране PHP/Python/Perl. Това е набор от софтуер с отворен код, с който може да се изгради, разработи и пусне в действие цялостно приложение с минимален разход на средства.
Ето и някои от най-популярните системи за управление на бази данни с отворен код, като ще започнем от вече спомената MySQL:

1. MySQL

MySQL е многопоточна, многопотребителска, SQL система за управление на бази данни (СУБД) с повече от шест милиона инсталации. MySQL се разработва, разпространява и поддържа от Шведската компания MySQL AB, която държи авторските права за голяма част от програмния код. Подобен e моделът на JBoss а също и начинът по който Free Software Foundation работи с авторските права по нейните проекти в отличие от Apache проекта, където софтуерът е обществено разработван, а авторските права за програмния код принадлежат на индивидуалните автори. Достъпни са програмни интерфейси, позволяващи програми, написани на различни програмни езици да имат достъп до MySQL бази данни. Такива са: C, C++, C#, Delphi (чрез dbExpress), Eiffel, Smalltalk, Java (с директна поддръжка), Lisp, Perl, PHP, Python, Ruby, REALbasic(Mac), FreeBasic, и Tcl, като всеки от тях има специфичен програмен интерфейс. Интерфейс тип ODBC наречен MyODBC позволява на други програмни езици, които поддържат ODBC интерфейс да комуникират с MySQL база данни, например: ASP или Coldfusion. MySQL е написан основно на ANSI C.

MySQL е популярна за интернет приложения като MediaWiki или Drupal и е база данни в LAMP, MAMP и WAMP платформи (Linux/Mac/Windows-Apache-MySQL-PHP/Perl/Python), и за софтуера с отворен код Bugzilla - приложение за проследяване на грешки. Нейната популярност като Интернет приложение е тясно свързана с популярността на PHP, като често, комбинирани с MySQL, са наречени Динамичното дуо. Лесно е да се намерят много източници, които ги комбинират в интернет статии или книги (PHP and MySQL for Dummies, PHP and MySQL Bible, Beginning PHP and MySQL, и други) В тези книги се твърди, че MySQL е по-лесен за изучаване от други бази данни и като пример се посочва, че от MySQL може да се излезе с командите exit или quit, но това е вярно и за много други бази данни.

2. PostgreSQL

PostgreSQL е релационна база данни с отворен код. Поддържа множество типове данни (включително потребителски дефинирани), транзакции, криптиране, регулярни изрази и др. Използва се широко, включително от някои големи компании. PostgreSQL акцентира върху лесното разширяване, стабилността и спазването на основните стандарти. Тя се счита за пионер, чиито концепции по-късно са се появили в комерсиалните бази данни.

PostgreSQL работи на всички известни операционни системи, включително Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), и Windows. Тя е напълно ACID съвместима, има поддръжка за чужди ключове, съединяване, изгледи, тригери и запаметени процедури (на множество езици). Системата включва повечето SQL92 и SQL99 типове данни, включително и INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL и TIMESTAMP.

3. MongoDB

MongoDB (от англ. "humongous"- "огромен") е документно-ориентирана система за бази данни, работеща на различни платформи. Класифицирана като нерелационна база данни, MongoDB избягва традиционната таблица, базирана на релационната структура в полза на JSON-подобни документи с динамични схеми (MongoDB използва BSON формат), което прави интегрирането на данни в някои видове приложения по-лесно и по-бързо. Разпространява се под комбинация на GNU Affero General Public License и лиценза Apache.

Тази СУБД е разработена от 10gen (сега MongoDB Inc.) през октомври 2007 г. като част от платформа планирана като услуга, но през 2009 г. компанията се насочва към модел на разработка на софтуер с отворен код, като предлага платена поддръжка и други услуги. Оттогава, MongoDB е приета като бекенд софтуер от редица големи уеб сайтове и услуги, включително Craigslist, eBay, Foursquare, SourceForge, и The New York Times. Това прави MongoDB най-популярната нерелационна система за управление на бази данни.

4. BaseX

BaseX е интуитивна и лека нерелационна система за управление на бази данни с отворен код, която е базирана на XML документи. Тя е разработена като обществен проект и е специализирана в съхранение, заявки и визуализиране на големи XML документи и колекции. BaseX е платформено-независима и се разпространява под лиценз на свободен софтуер.

За разлика от другите документно-ориентирани бази данни, XML-ориентираните бази данни осигуряват поддръжка за стандартизирани езици за заявки като XPath и XQuery. BaseX е напълно съответстваща на World Wide Web Consortium (W3C) спецификациите. Включеният потребителски интерфейс позволява на потребителите да търсят интерактивно, изследват и анализират данните си, и оценяват XPath / XQuery изрази в реално време (т.е. докато потребителят пише).

BaseX използва таблично представяне на XML дървовидни структури за да съхранява XML документи. Базата данни действа като контейнер за един документ или набор от документи. Схемата за кодиране XPath Accelerator и Staircase Join операторът са взети като вдъхновение за ускоряване на стъпките на местоположение в XPath. Освен това, BaseX предвижда няколко вида индекси за подобряване на ефективността на операциите за търсене на елементи, преглеждане на атрибути, текстови сравнения и пълно текстово търсене .

II. Нерелационни бази данни

Нерелационната база данни (на английски: Not only Structured Query Language или NoSQL) предоставя механизъм за съхранение и възстановяване на данни, който използва свободен съгласуван модел за разлика от по-често ползваната релационна база данни. Ползите на този подход включват изчистен дизайн, хоризонтално мащабиране и фин контрол върху наличнaта информация. Нерелационната база данни е най-често добре оптимизирано хранилище, съдържащо информация от тип ключ-стойност. Предназначението ѝ е да улесни процесите по възстановяване и добавяне на информация, с цел оптимизиране на производителността в условия на неумишлено забавяне на системата и въвеждане на прекалено големи количества данни. Нерелационната база данни намира значима и нарастваща роля в real-time web и big data приложенията. Нерелационните системи са наричани "Not only SQL" в превод "Не само база данни" за да се подчертае, че те в действителност позволяват употребата на езици за търсене различни, но сходни на тези в SQL.



Сподели линка с приятел:





Яндекс.Метрика
Системи за управление на бази от данни с отворен код. NoSQL бази от данни. 9 out of 10 based on 2 ratings. 2 user reviews.