дипломная работа. Даар. Разработка службы курьерской доставки в мобильном приложении
Скачать 0.63 Mb.
|
3.2 Выбор оптимальной базы данных для разрабатываемой системыВ качестве хранилища данных в разрабатываемой системе предполагается использование базы данных. Самыми распространенными бесплатными системами управления базами данных являются: SQLite - очень мощная встраиваемая система управления; MySQL - самая популярная и распространенная СУБД; PostgreSQL - наиболее продвинутая СУБД. Проведем сравнительный анализ перечисленных СУБД. 3.2.1 SQLiteЛегко встраиваемая в приложения база данных. Так как это система базируется на файлах, то она предоставляет довольно широкий набор инструментов для работы с ней, по сравнению с сетевыми СУБД. При работе с этой СУБД обращения происходят напрямую к файлам (в этих файлах хранятся данные), вместо портов и сокетов в сетевых СУБД. Именно поэтому SQLite очень быстрая, а также мощная благодаря технологиям обслуживающих библиотек. Преимущества SQLite Файловая структура - вся база данных состоит из одного файла, поэтому её очень легко переносить на разные машины. Используемые стандарты - хотя может показаться, что эта СУБД примитивная, но она использует SQL. Некоторые особенности опущены (RIGHT OUTER JOIN или FOR EACH STATEMENT), но основные все-таки поддерживаются. Отличная при разработке и тестировании - в процессе разработки приложений часто появляется необходимость масштабирования. SQLite предлагает всё что необходимо для этих целей, так как состоит всего из одного файла и библиотеки написанной на языке C. Недостатки SQLite отсутствие системы пользователей - более крупные СУБД включают в свой состав системы управления правами доступа пользователей. Обычно применения этой функции не так критично, так как эта СУБД используется в небольших приложениях. отсутствие возможности увеличения производительности - опять, исходя из проектирования, довольно сложно выжать что-то более производительное из этой СУБД. 3.2.2 MySQLMySQL - это самая распространенная полноценная серверная СУБД. MySQL очень функциональная, свободно распространяемая СУБД, которая успешно работает с различными сайтами и веб приложениями. Обучиться использованию этой СУБД довольно просто, так как на просторах интернета вы легко найдете большее количество информации. Несмотря на то, что в ней не реализован весь SQL функционал, MySQL предлагает довольно много инструментов для разработки приложений. Так как это серверная СУБД, приложения для доступа к данным, в отличии от SQLite работают со службами MySQL. Преимущества MySQL Простота в работе - установить MySQL довольно просто. Дополнительные приложения, например GUI, позволяет довольно легко работать с БД Богатый функционал - MySQL поддерживает большинство функционала SQL. Безопасность - большое количество функций обеспечивающих безопасность, которые поддерживается по умолчанию. Масштабируемость - MySQL легко работает с большими объемами данных и легко масштабируется. Скорость - упрощение некоторых стандартов позволяет MySQL значительно увеличить производительность. Недостатки MySQL Известные ограничения - по задумке в MySQL заложены некоторые ограничения функционала, которые иногда необходимы в особо требовательных приложениях. Проблемы с надежностью - из-за некоторых способов обработки данных MySQL (связи, транзакции, аудиты) иногда уступает другим СУБД по надежности. Медленная разработка - Хотя MySQL технически открытое ПО, существуют жалобы на процесс разработки. 3.2.3 PostgreSQLPostgreSQL является самым профессиональным из всех трех рассмотренных нами СУБД. Она свободно распространяемая и максимально соответствует стандартам SQL. PostgreSQL или Postgres стараются полностью применять ANSI/ISO SQL стандарты своевременно с выходом новых версий. От других СУБД PostgreSQL отличается поддержкой востребованного объектно-ориентированного и/или реляционного подхода к базам данных. Например, полная поддержка надежных транзакций, т.е. атомарность, последовательность, изоляционность, прочность (Atomicity, Consistency, Isolation, Durability (ACID).) Благодаря мощным технологиям Postgre очень производительна. Параллельность достигнута не за счет блокировки операций чтения, а благодаря реализации управления многовариантным параллелизмом (MVCC), что также обеспечивает соответствие ACID. PostgreSQL очень легко расширять своими процедурами, которые называются хранимые процедуры. Эти функции упрощают использование постоянно повторяемых операций. Хотя PostgreSQL и не может похвастаться большой популярностью в отличии от MySQL, существует довольно большое число приложений облегчающих работу с PostgreSQL, несмотря на всю мощность функционала. Сейчас довольно легко установить эту СУБД используя стандартные менеджеры пакетов операционных систем. Достоинства PostgreSQL Открытое ПО соответствующее стандарту SQL - PostgreSQL - бесплатное ПО с открытым исходным кодом. Эта СУБД является очень мощной системой. Большое сообщество - существует довольно большое сообщество в котором вы запросто найдёте ответы на свои вопросы Большое количество дополнений - несмотря на огромное количество встроенных функций, существует очень много дополнений, позволяющих разрабатывать данные для этой СУБД и управлять ими. Расширения - существует возможность расширения функционала за счет сохранения своих процедур. Объектность - PostgreSQL это не только реляционная СУБД, но также и объектно-ориентированная с поддержкой наследования и много другого. Недостатки PostgreSQL Производительность - при простых операциях чтения PostgreSQL может значительно замедлить сервер и быть медленнее своих конкурентов, таких как MySQL Популярность - по своей природе, популярностью эта СУБД похвастаться не может, хотя и присутствует довольно большое сообщество. Хостинг - в силу вышеперечисленных факторов иногда довольно сложно найти хостинг с поддержкой этой СУБД. Результаты анализа показывают, что по заявленным возможностям явным фаворитом является PostgreSQL. Таким образом, в качестве системы управления базами данных в разрабатываемой системе оптимальным выбором будет именно эта СУБД. |