Более 11 миллионов Инсталляций по миру Wikipedia Youtube Facebook Flickr Примеры использования.

Презентация:



Advertisements
Похожие презентации
Microsoft TechDays Александр Неволин Nevlabs Microsoft TechDays Более 11 миллионов Инсталляций по миру Wikipedia Youtube Facebook Flickr Примеры использования.
Advertisements

Технические возможности. Наши цели Максимальная гибкость Максимальная скорость считывания и обработки данных Стабильность работы Максимальная простота.
SQL SERVER И ПРОДУКТЫ 1С 1. 1С + Microsoft = ПАРТНЕРСТВО 2 Сотрудничество 15+ лет Совместный продукт с 1998 года + Гибкость лицензирования Отдельная закупка.
Лекция 27 Лекция 27 Идентификация пользователей. Проверка и назначение полномочий и представлений данных пользователей. Защита базы данных. Контроль параллельной.
Администрирование информационных систем Лекция 4. Система управления базами данных.
Использование MySQL в сервисе дневников LiveInternet.ru Практика, практика, практика Гурьянов Андрей, программист Новиков Лев, системный администратор.
Премиум-версии: SQL Server 2008 R2 Parallel Data Warehouse SQL Server 2008 R2 Datacenter Основные версии: SQL Server 2008 R2 Enterprise SQL Server 2008.
ОРГАНИЗАЦИЯ БАЗ ДАННЫХ И ЗНАНИЙ ТЕМА 5 СТРУКТУРИРОВАННЫЙ ЯЗЫК ЗАПРОСОВ SQL.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
RusBroker (RB). Общие сведения Система «RusBroker» была разработана Департаментом ИТ инвестиционной компании OOO «Уником Партнер». Программный комплекс.
Технология хранения, поиска и сортировки информации в базах данных
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Компоненты SQL Server Реляционный сервер –Внутризапросный параллелизм –Распределенные фрагментированные представления (серверные фермы) –Службы тиражирования.
1 Особенности работы MySQL 5.0 и перспективы развития СУБД Михаил Серов (1234ru), инструктор авторизованного учебного центра MySQL в Москве Григорий Рубцов.
Система управления базами данных (СУБД) MySQL. Что такое MySQL? MySQL разработал Михаэль Видениус (Michael Widenius). MySQL является относительно небольшой.
Поисковые движки. Sphinx Search Engine. Докладчик: Роман Кудлай
Опыт реализации отказоустойчивого сервера приложений и хранилища данных на базе СУБД ЛИНТЕР Михаил Ермаков, Дмитрий Мухоедов, РЕЛЭКС.
«Особенности файловой системы WinFS» Сравнение с предыдущими файловыми системами.
Triggers для mysql. Что есть триггер? Триггер - это хранимая процедура особого типа, исполнение которой обусловлено наступлением определенного события.
Транксрипт:

Более 11 миллионов Инсталляций по миру Wikipedia Youtube Facebook Flickr Примеры использования

MySQL Community Server Бесплатен MySQL Enterprise От 600$ за простую редакцию До 5000$ за редакцию Platinum

1 процессор Максимальное использование оперативной памяти – 1 Гб Максимальный объем базы данных – 4 Гб

ВерсияДата Первый внутренний выпускМай 1995 Первая версия для WindowsЯнварь Январь Март Октябрь Октябрь Ноябрь Alpha MariaPreview

Независимые механизмы хранения таблиц (MyIsam, InnoDb) Возможность создания таблиц в памяти (Heap-таблицы) Merge-таблицы Репликация Полнотекстовый поиск Январь 2001 года

Март 2003 года Движок InnoDB включен в стандартный пакет Усовершенствование Merge-таблиц Кеширование запросов Поддержка UNION-запросов Значительные улучшения в полнотекстовом поиске SSL-соединения

Октябрь 2004 года Вложенные запросы и производные таблицы Поддержка Unicode (UTF-8) Улучшенные механизмы кодировок, сортировок, полнотекстового поиска Более гибкий и быстрый протокол клиент- сервер

Октябрь 2005 года Хранимые процедуры и функции Курсоры Триггеры Представления

Ноябрь 2008 года Разбиение файлов на части Построчная репликация Встроенный планировщик Возможность хранения логов в таблицах Функции для работы с XML Load Emulator Berkeley DB не поддерживается

MyISAMInnoDBBerkeleyDB MergeHeap

Тип, используемый по умолчанию Могут быть статическими, динамическими и сжатыми Обеспечивают максимальное быстродействие Не поддерживают транзакции и ссылочную целостность Максимальный размер ограничен требованиями файловой системы Возможность полнотекстового поиска

Блокировка на уровне строк Поддержка внешних ключей Транзакции Собственный механизм хранения данных Зачастую запрещен к использованию в рамках виртуального хостинга

Merge-таблицы представляют собой логическое объединение нескольких таблиц (фактически – аналог UNION) Ранее использовались для обхода ограничения на максимальный размер файла в операционных системах CREATE TABLE myTable ( ….. ) type=merge union=(table1, table2, table3) insert_method=last;

Last_Records Последние 1000 записей Last_Records Other_Records Все остальные записи Other_Records All_RecordsAll_Records На практике часто бывают нужны только последние N записей. Таблица Last_Records будет работать быстрее благодаря меньшему размеру. В остальных (более редких) случаях – запрос для merge- таблицы. На практике часто бывают нужны только последние N записей. Таблица Last_Records будет работать быстрее благодаря меньшему размеру. В остальных (более редких) случаях – запрос для merge- таблицы.

Наиболее быстрые таблицы Приходится следить за размером таблицы При сбое питания данные теряются Не поддерживаются AUTO_INCREMENT, TEXT и BLOB-данные

В MySQL сжатые данные доступны только для чтения. При записи происходит распаковка таблицы, затем запись, затем упаковка В MSSQL 2008 – возможно прозрачное сжатие данных

MySQLMSSQL PHPВстроенная поддержка PerlМодули DBI C, C++, etc.ODBC-драйвер, mysqlclient, C++- драйвер ADO, ODBC, etc.NETADO.Net-драйверADO.Net

Значительные отличия в манипулировании структурами таблиц (тип таблиц у MySQL, AUTO_INCREMENT и т.п.) Присутствуют отличия в функциях (ISNULL, CONCAT и т.п.) SELECT, INSERT, UPDATE, DELETE в целом схожи (но есть нюансы – например, SQL Server не поддерживает JOIN USING и т.д.) Приятность MySQL – оператор LIMIT В MySQL: SELECT * FROM user, в SQL Server: SELECT * FROM [user] Неприятный итог: если приложение «захардкожено» под MySQL, то перенос потребует немалых сил

В каких случаях на практике требовался переезд: Всплывший факт о том, что MySQL вовсе не бесплатна; Не устраивают даже стандартные фичи MySQL – например, нужен одновременно полнотекстовый поиск и внешние ключи; Нужен дополнительный функционал, имеющийся в SQL Server. Что нужно для переезда: Правка SQL-запросов, зашитых в приложение; Перенос структуры базы данных и самих данных. Раньше – вручную, теперь – с помощью Microsoft SQL Server Migration Assistant for MySQL.

Демонстрейшн

База данных: AdventureWorks для SQL Server 2005 Для корректности эксперимента перенесена вручную в MySQL (InnoDB), затем оттуда в SQL Server Express 2008 с помощью SSMA Условия: Тестируем на запросах различной сложности; Тестируем с разным количеством параллельных потоков; Тестируем с возможностью кеширования запросов (10 и 20 однотипных запросов) Запросы: Полные SELECT маленьких, средних и больших таблиц SELECT с простыми условиями SELECT со сложными условиями и JOIN

Полный SELECT маленьких таблиц (до строк)

Полный SELECT средних таблиц (до строк)

Полный SELECT больших таблиц (порядка строк)

SELECT с несложными условиями, без кеширования

SELECT с несложными условиями, кеширование 10

SELECT с несложными условиями, кеширование 20

SELECT со сложными условиями + JOIN, без кеширования

SELECT со сложными условиями + JOIN, кеширование 10

SELECT со сложными условиями + JOIN, кеширование 20

Скачать программу Можно скачать и исходный проект, и инсталляционный вариант

Неволин Александр ICQ: (926)