MySQL vs MS SQL vs RavenDB - performance test

В предыдущей статье я привел данные анализа производительности вставки 500 тыс. записей в БД MS SQL & RavenDb

Сегодня проделал тест с MySQL, на той же самой машине (остальные сервера БД были остановлены)

Вставка 500 тыс. записей со структурой (ID, Text(500), Time):
RavenDb: 48063 ms,     process memory: 1400544 kb, db server memory: 138208 kb
MS SQL: 539526 ms,   process memory: 49248  kb,    db server memory: 498852 kb
MySQL: 2349162 ms, process memory: 48988 kb,     db server memory: 121408 kb


MySQL:
+ Процесс приложения потребляет небольшое количество памяти
+ Процессор напряжен до 5%
- Медленное время работы
+ Относительно небольшой объем памяти, съеденный процессом сервера БД

В отношении MySQL можно добавить, что первая сотня записей вставилась достаточно быстро, остальные уже медленней. Потому, смею полагать, что MySQL отработал бы значительно быстрее, если бы я его правильно настроил, а я же установил дефолтную версию (setup.exe, далее, далее...)

Основываясь на этих данных, могу рекомендовать MySQL для машин с малым количеством ресурсов (озу, процессор)

UPD 1: http://informationideas.com/news/2008/05/01/mysql-on-windows-vs-linux/ - тестирование мускула на Linux, по крайней мере при выборке данных, дает лучшие результаты, чем на Windows

Read request parameters in javascript / Читать параметры запроса в яваскрипте

Мегабоян, записал чтобы было

function requestParam(name){
   if(name=(new RegExp('[?&]'+encodeURIComponent(name)+'=([^&]*)')).exec(location.search))
      return decodeURIComponent(name[1]);
}

Использование: requestParam('aspxerrorpath');

MS SQL - get week number from date / номер недели по дате

Все просто, конечно, но мало ли:

SELECT DATEPART(wk, GETDATE())

Подробнее о функции DATEPART читать в MSDN

SwipeView - переход по страницам перетаскиванием

Имеется ввиду действие, аналогичное действию производимому на планшетных мониторах при переходе между разными страницами меню
Для наглядности фото:
Клик мыши слева и перемещение страницы вправо даст нам переход на страницу, расположенную слева, и напротив - клик справа и перемещение налево даст переход на страницу справа

Для простых сайтов в большинстве случаев неактуально, но если ваш сайт посещает немало пользователей iOS, Android, то подобный переход по разделам или фотогалерее был бы достаточно удобным

Страница библиотечки: http://cubiq.org/swipeview
Демо пример: http://cubiq.org/dropbox/SwipeView/demo/gallery/
Device compatibility: iPhone/Ipod touch >=4.x, iPad >=3.2, Android >=2.3, Desktop Webkit

Из демо-примера видно, что мы можем работать с любыми данными и обрабатывать как угодно в обработчике на событии onFlip (к примеру загрузить не картинку как в демо, а текст следующей страницы)

rar.exe rename file in archive / rar.exe переименование файла в архиве

Переименование без извлечения:
rar rn archive.rar filename newfilename

Также рекомендую посмотреть в консоли rar /?

Google Reader Offline

Вырезка из официального описания:

Для инсталяции необходимо иметь на компьютере установленную Java. (Проверить наличие можно тут http://java.com/ru/download/installed.jsp) Если все в порядке, кликнуть по ссылке http://google-reader-offline-client.googlecode.com/files/google-reader-offline-client1.1.jnlp - откроется заставка Java Web Start и программа установится, на рабочем столе появится иконка и возможно она появится в Главном меню. Под windows не требуется наличие прав администратором. Под Ubuntu 10.04 у меня не создались иконки, в данном случае необходимо скачать файл google-reader-offline-client1.1.jnlp в какую нибудь папку и создать ярлык с командой "javaws rssReader.jnlp" (например в ~/.rssReader)

MS SQL: уменьшение размера файлов базы данных

Если выполнить сотни тысяч инсертов в БД, а затем подчистить их, то размер файла данных не уменьшается

Для подчистки можно выполнить команду: dbcc shrinkfile (db_file_name), где в качестве аргумента нужно передать имя файла данных или лога для обработки


Или воспользоваться MS SQM Management Studio:





Рекомендую более подробно ознакомиться с методом shrinkfile, т.к. это не только возврат места системе, но и средство для работы со страницами данных

OneNote Mobile for Android

Казалось бы - отличная новость, появилось приложение OneNote для Android, для работы с записными книжками, хранящимися в Skydrive

Рекламный ролик "OneNote Mobile for Android: You need it":
Первые впечатления:

  • Вход в LiveID не понравился, т.к. выдает ошибку, что страница входа для мобильных приложений не доступна и предлагает воспользоваться стандартной страницей 
  • На SD не устанавливается, а у меня книжка занимает уже 71 Мб :( 
  • Также я не смог увидеть ни ровным счетом ничего из того что написал, т.к. размер шрифта 2-3 пиксела!! ))))
Итого: использовать на моем телефоне его нельзя, а жаль :(

MS SQL vs RavenDB - performance test

Исключительно из любопытства, подстегнутый предыдущим постом, провел тестирование производительности бах данных MS SQL & RavenDB (Mongo исключил, т.к. пока не заинтересован)

Вставка 500 тыс. записей со структурой (ID, Text(500), Time):
RavenDb: 48063 ms,   process memory: 1400544 kb, db server memory: 138208 kb
MS SQL: 539526 ms, process memory: 49248 kb,     db server memory: 498852 kb

MS SQL:
+ Процесс приложения потребляет меньше памяти
+ Процессор напряжен на 10-15%
- Долгое время работы
- Большой объем памяти, съеденный процессом сервера БД

RavenDb:
- Процесс приложения потребляет большое количество памяти
- Процессор напряжен до 50%
+ Быстрое время работы
+ Относительно небольшой объем памяти, съеденный процессом сервера БД

Итого: выбирать только по скорости отработки запросов действительно не стоит, нужно учитывать и другие ресурсы системы, как то - память, потребление времени процессора, скорость/чтение записи данных на диск (характеристика винта)