The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз MySQL 5.0.81. Заметки по производительности MySQL. Новый движок TokuDB

05.05.2009 12:30

Вышел релиз MySQL Community Server 5.0.81, список изменений насчитывает исправление более 100 ошибок из которых 30 приводили к краху серверного процесса, а 2 ошибки были связаны с исправлением проблем безопасности. Но при внимательном рассмотрении большинство записей в списке изменений совпадают с изменениями в релизах 5.0.77 и 5.0.75, при выборке из репозитория исходных текстов обнаружено около 20 исправлений. Загрузить новую версию можно в исходных текстах и в виде бинарных сборок для всех популярных платформ.

Несколько новых заметок по MySQL:

  • "RAID vs SSD vs FusionIO" - результаты сравнения производительности MySQL 5.4 (InnoDB) при хранении БД на RAID10, SSD-накопителе и при использовании накопителя/акселератора ввода/вывода FusionIO. Результаты: RAID10 - 7,439 TPM, DSD - 10,681 TPM, FusionIO - 17,372 TPM (!).
  • "MySQL Performance: MySQL 5.4 and other InnoDB engines @dbSTRESS Benchmark" (очень подробное сравнение), "Looking on 5.4 - IO bound benchmarks" - оценка производительности новой экспериментальной ветки MySQL 5.4. По сравнению с 5.0.77 результаты впечатляют. При сравнении MySQL 5.4 с PostgreSQL 8.3.7, PostgreSQL проиграл на Read-Only тестах почти в два раза: 13.500 TPS для MySQL против 7.000 TPS для PostgreSQL. В тестах на смешанную нагрузку, MySQL 5.4 совсем немного вырвался вперед: 7.000-8.000 TPS для MySQL против 6.000-7.000 TPS для PostgreSQL.
  • "Detailed review of Tokutek storage engine" - обзор нового хранилища MySQL - TokuDB (Tokutek storage engine). TokuDB поддерживает транзакции и позволяет в разы уменьшить размер базы и индексов (в 6.2 раза по сравнению с InnoDB и в 5.5 раз по сравнению с MyISAM), за счет использования вместо классических B-tree деревьев инновационных фрактальных индексов (fractal tree indexes) с хранением данных в сжатом виде. За счет сокращения интенсивности ввода/вывода по производительности TokuDB опережает InnoDB при добавлении больших объемов данных более чем в 10 раз (InnoDB 1,555 rows/sec, TokuDB 16,437 rows/sec), но проигрывает по степени нагрузки на CPU при выборке данных. К сожалению исходные тексты TokuDB не открыты для публичного доступа.


  1. Главная ссылка к новости (http://permalink.gmane.org/gma...)
  2. OpenNews: Вышел MySQL Community Server 5.0.77
  3. OpenNews: Вышел MySQL Community Server 5.0.75
  4. OpenNews: Выпущена новая сборка MySQL 5.0.67 от компании Percona
  5. OpenNews: Доступна для загрузки предварительная версия MySQL 5.4
  6. OpenNews: Вышел релиз MySQL Community Server 5.1.34
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/21601-mysql
Ключевые слова: mysql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 14:08, 05/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сравнили экспериментальную шнягу с продакшн релизом постгреса 8.3....
     
  • 1.2, Avatar (??), 14:23, 05/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Моё отношение к MySQL это уже не изменит, я за Postgresql.
     
     
  • 2.21, Alexander (??), 11:11, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    А числовые unsigned-типы там принципиально не делают?
    Только из-за unsigned-типов держу кое-какие базы в MySQL...
     

  • 1.3, olex (ok), 14:30, 05/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    TokuDB проблемы:
    1 TokuDB плохо масштабируется - плохо работает на многопроцессорных системах
    2 INSERT и DELETE работают быстро, UPDATE - медленнее
    3 пока что нет recovery logs
     
  • 1.4, open (?), 16:09, 05/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    про ставбильность MySQL можно анекдоты сочинять)
    http://sql.ru/forum/actualthread.aspx?tid=660905
    раз в неделю подобные темы...
    как только мы у нас не перегружали PgSQL
    от питания до kill -9
    Хранилище не бьется,
    в отличии от MySQL у которого на ровной дороге,
    Got error from table handler и досвидания...


     
     
  • 2.20, geekkoo (ok), 06:35, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Можно не сочинять. Цитата -
    "Венда ХР СП2 ... была открыта база в dbForge я играл в ViceCity и комп повис, ребутнул его кнопкой Reset" и уже смешно.
     

  • 1.5, igorsia (?), 16:15, 05/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что еще сломали?
    в 5.1 в очередной раз сломали MyISAM. Починят (как всегда) через годик.
     
  • 1.6, pavlinux (ok), 17:07, 05/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    SSD под SQL - кучеряво живут...
     
     
  • 2.7, TS (?), 17:33, 05/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    FusionIO под MySQL - вот это точно кучеряво живут. FusionIO стоят около $10K...
     
     
  • 3.8, pavlinux (ok), 18:07, 05/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    FusionIO: 160GB = 4800$.

    Я к тому, что SSD дохнут как мухи, а FusionIO 24 года, при трафике 5Тб в день.

     
     
  • 4.11, TS (?), 18:15, 05/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >FusionIO: 160GB = 4800$.
    >
    >Я к тому, что SSD дохнут как мухи, а FusionIO 24 года,
    >при трафике 5Тб в день.

    А 5k$ - это не кучеряво? :)

     
  • 4.12, mmm (??), 19:04, 05/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    FusionIO - это разновидность SSD, только с другим (относительно того, к которому привыкло большинство) интерфейсом.
     
     
  • 5.16, User294 (ok), 21:39, 05/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати говоря - представлять flash-диски как якобы-HDD, с якобы-секторами в 512 ... большой текст свёрнут, показать
     
     
  • 6.19, x11term (?), 06:15, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    ...
    >Суки.Надо ж так прогресс тормозить
    >ради совместимости.
    >
    >Regards, your Captain Obvious :D

    Ты ещё x86 вспомни ...

     
  • 6.22, Аноним (-), 15:10, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >с механическими хардами на уровне логической организации?Суки.Надо ж так прогресс тормозить
    >ради совместимости.
    >
    >Regards, your Captain Obvious :D

    ужас-ужас!!!
    как все плохо)))
    если не помнить, о том, что на ssd есть кэш и как правило от 64Мбайт.
    и контроллеры как правило оптимизированы, под то что бы не перезаписывать, пока есть возможность сделать переалокацию )))

     
     
  • 7.30, User294 (??), 13:38, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >если не помнить, о том, что на ssd есть кэш и как правило от 64Мбайт.

    Только на хороших.На всяких там usb и прочая - такого нету.И кроме того - и на много его хватит при рандомных доступах по всей поверхности?У флеша seek time мелкий а потому в случае крутого диска есть соблазн наподдать ему параллельных запросов в разные участки, с этим как раз у механики проблемы.А вот тут то и будет опа.ФС считают что писать кусочками по 512 байтов в рандомные точки - вполне валидно в принципе.А то что это очень не здорово для носителя они могут и не знать.И не знают.Ну а уж о том чтобы выровнять структуры ФС на erase-block'и сэкономив флешу циклы перезаписи (и время на них) и подавно в обычном случае никто не думал.У жестких дисков то ничего такого нет.А большинство ФС делались именно под них.А контроллер скрывая детали физики флеша еще и делает такое выравнивание весьма негарантированной и нетривиальной операцией - кто ж документирует физическое устройство диска и как себя контроллер ведет там внутри?

    >и контроллеры как правило оптимизированы, под то что бы не перезаписывать, пока
    >есть возможность сделать переалокацию )))

    Опять же - только хорошие контроллеры.Их таких не так уж много.И стоят диски от приличных производителей с таким контроллером - как задняя часть самолета.Зато всякого фуфла с примитивными контроллерами - навалом.Кроме того - опять же а как преаллокация переживает слет питания?Она логику журналирования не рушит?Журнал предполагает что если сказали нечто записать - это записано.А не то что железка где-то внутри себя будет ждать - а не допишут ли еще чего туда же.И, собственно, ФС в своем праве уповать на 512-байтные блоки.Или на что там еще.Не выровненое на страницы и erase-блоки, что было бы наиболее оптимально для флеша.

     
  • 6.24, anonymous (??), 15:48, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Кошмар как страшно.
    Просветите нас темных.Команда dd, mkfs, format - обращаются напрямую к контроллеру flash, т.е прямо ему сообщают от по такому адресу проведем границу сектора. По его внутренним командам?
    Или они работают через интерфейс неважно какой. USB, SATA, PCI(семейство)?
     
     
  • 7.26, anonymous (??), 16:01, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    .... А дальше контроллеру устройства? Черещ интерфейс устройства?

    (Ps. виноват.не дописал)

     
  • 7.27, Аноним (-), 19:03, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Кошмар как страшно.
    >Просветите нас темных.Команда dd, mkfs, format - обращаются напрямую к контроллеру flash,
    >т.е прямо ему сообщают от по такому адресу проведем границу сектора.
    >По его внутренним командам?
    >Или они работают через интерфейс неважно какой. USB, SATA, PCI(семейство)?

    ))) смишной)

    работают через интерфейс.
    но обращаются к контроллеру, хоть флэш, хоть хард - головками управлять не пытаются)))
    а вот куда будет произведена запись и когда и что поместить в кэш харда/ссд - решает его контроллер.

     
  • 7.29, User294 (??), 13:28, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > Команда dd, mkfs, format - обращаются напрямую к контроллеру flash

    Нет, конечно.Вот только проблема в том что они работают с этим флешом как с обычным носителем.Как будто бы у него 512-байтные сектора которые можно индивидуально адресовать и записывать.А по факту - никаких секторов в 512 байтов там нет.Изображаются варварской эмуляцией путем read-modify-write страницы (которая у нанда обычно 2 или 4 Кб например).При этом операция получается не только не атомарной - она еще и соседние сектора затрагивает.Потому что у нанда атомарные операции - только со страницами, никак не менее.А это более чем 512 байтов.На что софт не рассчитывает в общем случае.Могу себе представить ситуацию когда питалово слетит так что это будет в процессе read-modify-write и похерится не только записываемый сектор (на что софт вполне может рассчитывать) но и несколько соседних (на что софт ессно не рассчитывает, т.к. у обычных жестких дисков запись сектора в принципе атомарная операция и соседние сектора обычно никак не затрагивает). Получается и более тормозно чем могло быть и стремно.А обычные файловые системы раскидывают по дефолту структуры как угодно, только не так как это было бы удобно реальному физическому носителю.

     
  • 2.9, Поэт битов и байтов (?), 18:07, 05/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Я три года назад заюзал для сервиса типо DNSBL'a - всё просто взлетело но стоил 8GB дисочек 8 же тонн 8-\
    А теперь - 120 букашек :) Так что не - не кучеряво, скучно и обыденно живут :)
     
     
  • 3.10, pavlinux (ok), 18:12, 05/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    букашки, это граммы золота? SAS стоит 250$ и дальше.
     

  • 1.14, User294 (ok), 21:11, 05/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > К сожалению исходные тексты TokuDB не открыты для публичного доступа.

    Началось... и как это согласуется с GPL'ем? oO

     
     
  • 2.15, Ivan (??), 21:38, 05/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Надо полагать не хуже чем DB2.
     

  • 1.23, Аноним (-), 15:20, 06/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ребят просветите, кто РЕАЛЬНО понимает как это работает

    в тесте
    "MySQL Performance: MySQL 5.4 and other InnoDB engines @dbSTRESS Benchmark"
    приведен конфиг постгре с такими параметрами
    effective_cache_size = 48000MB    
    shared_buffers = 24000MB

    это вообще считается нормальным?
    (особенно при 256GB RAM)


    да и вот это
    fsync = on
    synchronous_commit = off
    wal_sync_method = fdatasync
    wal_buffers = 2MB
    как-то настораживает...

    или это нормально и так и должно быть?
    я действительно плохо понимаю какое должно быть соотношение ворк_мем/кэш/буферс

     
  • 1.28, azz (?), 10:42, 07/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В
    http://dev.mysql.com/doc/refman/5.0/en/releasenotes-cs-5-0-81.html

    For InnoDB tables, ORDER BY ... DESC sometimes returned results in ascending order. (Bug#37830)


    ;)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру