декабря 13, 2007

Новости бенчмарков

DELL опубликовал еще 2 результата в TPC-E, снова на MSSQL и в версионном режиме. Сравнивать доступные 6 тестов на MSSQL пока не появится тест от Oracle или IBM не интересно.

Подробнее.

SPEC.org опубликовал первый тест SPECpower_ssj2008 измеряющий производительность и потребление энергии. Пока там всего 12 результатов и только Xeonы и старенький Opteron. Будет очень интересно посмотреть на результат Niagara II.

Подробнее.

В тестах TPC-H появились 2 новых игрока (субд): ParAccel Analytic Database и EXASOL EXASolution 2.0, оба используют MPP архитектуру, которая как известно хорошо подходит под известные заранее аналитические запросы. Результат у обоих впечатляет.

Подробнее.

октября 23, 2007

TPC-E: Снова тест на MSSQL

Опубликован четвертый тест TPC-E, снова на MSSQL2k5 и снова x86. Странно, что в этом тесте не опубликованы супорт файлы, во всех трех предыдущих тестах они были опубликованы. Чтож, будем с нетерпением ждать результатов от остальных производителей субд.

Подробнее


Вторая новость от Oracle: на сайте выложен Oracle11g 64-bit Linux и 32-bit Windows. Качать тут.

--
Добавление: супорт файлы все же появились.

октября 09, 2007

SUN выпустил сервера с процессором Niagara II

SUN выпустил сервера t5220 и t5120 с процессором Niagara II на борту, которые снова не впечатляют. Вместе с серверами опубликованы бенчмарки от lotus domino до SPECint/SPECfp и одного из моих любимых SAP-SD. В SAP-SD T5120 на Oracle10g и 64Gb RAM показал 10,950 SAPS, что конечно лучше, чем любой 2х процессорный результат на текущий момент, но совеошенно незначительно опережает 10,400 SAPS Quad-Core Intel Xeon Processor X5365. А со дня надень ожидается результат AMD Barselona против которого у Niagara II нет шансов. При чем нужно учитывать, что 64Gb Niagara II стоит около $60К, что почти в 2 раза дороже сервера HP (32Gb RAM) который показал 10,400 SAPS.

http://www.sun.com/servers/coolthreads/t5220/
http://www.sun.com/servers/coolthreads/t5120/

Niagara II @ SAP-SD

сентября 14, 2007

Oracle 11g первый тест в TPC-C

Совсем недавно на точно таком же железе 10g установил рекорд в TPC-C на Oracle Linux в плане price/performance, теперь уже 11g выступал на Windows и оказался на 1.5% быстрее. Интересно, что стоимость Windows и Linux на 3 года получилось практически одинаковой.

Подробнее

августа 27, 2007

TPC-E: DELL как и предыдущие 2 результата использует IL Snapshot

Третий результат в новом OLTP тесте от TPC. В этом тесте DELL использовал 4xIntel Dual-Core Xeon и Microsoft SQL server. Как и предыдущие 2 результата использующие Microsoft SQL server, DELL использует версионный механизм в тесте.

Подробнее

августа 23, 2007

SAP-SD: SUN T2000 второй тест - слабовато

Sun опубликовал новый тест системы T2000 на этот раз на 8 ядрах 1.4Ghz T1 процессор и Oracle10g. Результат: 5530 SAPS, что почти в 2 раза слабее систем на двух процессорах Xeon X5365 (4-cores), который раза в три дешевле системы T2000.
Еще тест интересен тем, что Sun уже публиковал тест T2000 в конце 2005 года на 8 ядрах 1.2Ghz, но на бесплатной субд MaxDB, тогда результат был 4780 SAPS. Учитывая, что разница ядер составляет 200Mhz, плюс разница в версии приложения SAP R/3 (тогда использовалась версия 2004, сейчас 2005) то можно смело предположить, что смена субд с субд с MaxDB на Oracle10g практически никакого эфекта не произвела. Судя по всему MaxDB неплохо оптимизирована под SAP R/3 т.к. разница между Microsoft SQL Server и Oracle иногда доходит до 30% (в пользу Oracle).

Подробнее.

августа 16, 2007

Forrester: DBMS Market Overview

Интересные таблички нашлись в презентации Forrester:


DBMS product
% of enterprises using DBMS
SQL Server
81%
Oracle
77%
DB2
53%
Access
28%
Sybase
23%
IMS
19%
Informix
19%
MySQL
17%
Teradata
13%
Adabas
9%
IDMS
8%
PostgreSQL
4%
Filemaker
2%
Ingres
2%
Progress
2%

В компаниях с доходами > $500M
Oracle
67%
SQL Server
55%
DB2
51%

Презентация

августа 13, 2007

TPC-E: IBM в след за Unisys использует версионный механизм

Вторым в тесте TPC-E выступил IBM на x86 блейдах с Windows и MSSQL2k5. IBM так же как и первый тест использует IL snapshot в BrokerVolume.sql, вместо казалось бы "родного" для MSSQL serializable. И это при том, что система не большая, всего 2x Xeon 5160 на сервере субд.
ЗЫ. Похоже на основной страничке небольшая ошибка: там написано, что был 1 процессор, но в полном репорте уже идет речь о 2х процессорах и MSSQL2k5 лицензирован на 2.
ЗЫЫ. о, ошибочку поправили ...

Обзор версионных субд глазами воинствующего ораклойда

Давно хотел немного пошалить и собрать в одном документике архитектуру различных версионных субд, вокруг которых достаточно регулярно возникают самые интересные религиозные войны. Вот тут я и попробовал пройтись по архитектуре некоторых распространенных сегодня субд MVCC (multi-version concurency control).
За идеал версионной архитектуры конечно же возьму архитектуру Oracle, идеальность которой как известно сомнению не подлежит :)

Итак приступим: на низшей ступени стоят файл-серверные субд, такие как Foxpro и Accsess и прочая. Тут нет ничего: вместо ACID транзакций - "fake" [1], нет понятия уровня изолированности транзакций или консистентного набора (вместо этого некая буферизация), отсутствует стоимостный оптимизатор и самое прикольное - полная беззащитность БД. Любой кто имеет доступ к системе может записать все, что злобной душе угодно напрямую в файл БД минуя субд.
По транзакциям, как важнейшему компоненту субд, наверно стоит пройтись отдельно. Например в Foxpro это выглядит примерно так: средствами ОС на куски файла (к стате ну очень отдаленно напоминает как Oracle хранит блокировки в блоках данных) ставятся блокировки, после чего модифицируется некий кеш на клиенте и только после commit, содержимое кеша сбрасывается в файлик БД (dbf). В результате, если происходит сбой (файл-сервера или в сети) после фиксации транзакции, во время сбрасывания кеша, БД просто превращается в неконсистентную кашу, т.к. отвернуть неудачную транзакцию просто некому. При Insert ситуация не так страшна, т.к. судя по всему сначала данные записываются в конец файла и только потом модифицируется его заголовок, поэтому Foxpro может врубится, что данные заголовка не совпадают с реальным размером файла, а вот с Update все веселее - клиент просто молча может сбросить лишь часть данных кеша и молча погибнуть, при этом, о таком веселом происшествии прознать нет никакой возможности. Сложно сказать как это происходит в Access т.к. Майкрософт скрывает технические подробности, но судя по структуре файла Access тут таже беда, т.к. вернуть оригинальную версию строки при неудачной транзакции попросту неоткуда.
Немного снизить шансы такого сбоя можно попробовав перетащив систему на клиент-серверную архитектуру, например с помощью встроенных функций SOAP, но ACID транзакции и консистентный набор от этого к сожалению не появятся.

На заметно более высоком уровне развития находятся Interbase и его open source клон Firebird. Тут уже присутствуют зачатки почти всех признаков "взрослых" субд, единственно, напрочь отсутствует лог транзакций. Firebird существует в двух архитектурах: Classic и Superserver.
В Classic туча независимых сессий/процессов имеющих собственный отдельный кеш, зато процессы бывает раскидываются операционной системой по разным процессорам.
Superserver, появившийся позже, имеет один процесс и единый на все сессии кеш, что уже немного больше напоминает взрослые субд, облом состоит в том, что этот единственный процесс должен быть привязан к одному процессору, т.е. smp/многоядерные системы не супортится.
Концепция MVCC Firebird досталась еще от Rdb компании DEС и сильно отличается от нашего "идеала": При модифицируемой транзакции новые версии строк пишутся прямо в тот же блок или рядом с оригинальной версией, причем в большинстве случаев не вся строка, а только "дельта" между оригинальной и новой строкой (если дельта выходит больше, чем строка, пишется вся строка). По commit модифицируется Transaction Inventory Page (TIP) (заголовок дата-файла), где отмечается статус транзакции, по сути одним движением головки HDD, что и гарантирует ACID и невозможность беды подобной Foxpro. [2] Далее асинхронный процесс подчищает ненужные версии строк из файлов данных, что конечно же отлично сказывается на самочувствии остальных пользователей.
С уровнями изолированности транзакций тут так же не все гладко (в сравнении с остальными версионниками): READ COMMITED не обеспечивает консистентное чтение на уровне стэйтмента. [3]
[Добавление: в InterBase 7.x появился transaction log и smp support в superserver архитектуре]

Следующим идет Postgres, тут все уже гораздо лучше, есть WAL (write-ahead log) лог транзакций, сессии реализованы в виде процессов и имеют общий кеш, READ COMMITED обеспечивает консистентный набор стейтмента, все как у больших. Единственное большое разочарование - схожая с Firebird схема хранения версий строк или их дельты прямо в файлах данных, и соответственно необходимость в сборе мусора.

Microsoft SQL server 2005 практически полностью скопировал реализацию MVCC Oracle/Postgres, но как обычно MS немного не дотянул. Например, Oracle оперирует версиями блока данных, а сиквел строками. Оперирование блоками позволяет универсально накладывать версионность на любой объект, плюс позволяет делать оптимизацию: если блок уже стоит в очереди на сброс (на носитель), Oracle может создать копию блока и модифицировать именно копию, вместо того, чтоб дожидаться когда блок окажется на носителе.
Второе крупное различие - в mssql2k5 версии строк хранятся в tempdb, в то время как в Oracle в отдельной структуре сегментов отката (в оракле для отдельных транзакций можно создавать отдельные сегменты отката ). Tempdb часто становится головной болью администратора mssql и без версионности, проблеме i/o в tempdb на msdn посвящена не одна нота т.к. там помимо временных таблиц и табличных переменных хранятся сортировки и курсоры. Добавление в tempdb еще и версий строк делает и без того перегруженный tempdb узким местом в системе. Кроме этого MSSQL вынужден раз в минут (или при нехватке места) заниматся сбором мусора из tempdb, что также создает дополнительную нагрузку.
Следующее различие в том, что сегменты отката Oracle защищены от безразмерного роста и место пространства отката используется циклически (размер и их кол-во может задаваться админом). При неправильном размере сегментов очень длинная транзакция может получить ошибку ORA-01555 snapshot too old, в результате чего откатится лишь одна транзакция, в то время как в mssql2k5 ни что не ограничит рост tempdb, в результате одна «неудачная» транзакция может просто переполнить tempdb и остановить работу всех пользователей (есть job которым можно как-то попробовать среагировать).

Будете смеяться, но с точки зрения концепций MySQL/Innodb оказывается ближе всех - у него как и в Oracle выделены два лога UNDO и REDO, однако оперирует не блоками, а строками. [4] Поскольку UNDO отдельная структура, которую можно использовать циклически - нет необходимости в сборе мусора. Однако блокировки как и mssql хранятся в отдельной структуре в памяти, а не в блоках данных, кроме этого mysql исповедует multi-threading архитектуру, такую архитектуру Oracle использует только на Windows платформе.

To be continued ...

ЗЫ расстановка была только по степени похожести на архитектуру Oracle, совершенно не учитывая реализацию этой архитектуры ...

июля 26, 2007

OpenSource RDBMS market share


Наткнулся на старенькую, но интересную картинку на 2005 год. Давно задавался вопросом, как соотносятся опенсоурсные субд друг с другом. В принципе сходится с посещаемостью форумов.

июля 15, 2007

TPC-E: первый опубликованый результат

Наконец дождались первого опубликованого результата в тестах TPC-E. Первым рискнул Unisys и Microsoft MSSQL2k5. С учетом предстоящего выхода Oracle11g очень хочется верить, что ответ оракла не заставит себя долго ждать. Помню как критиковали Microsoft за то, что они за несколько месяцев до выхода mssql2k5 не публиковали никаких тестов в то время как Oracle10g участвовал в tpc-c за год до выхода. Сегодня получается, что Oracle11g вроде как официально представлен, но реально по слухам будет доступен в августе, а тестов до сих пор никаких нет. Будем надеятся, что это связано именно с подготовкой тестов TPC-E.

Подробнее.

Дополнение: присмотревшись, обнаружил интересный факт - в этом тесте включен версионный механизм (ALLOW_SNAPSHOT_ISOLATION ON) и один из запросов (BrokerVolume.SQL) который прочесывает почти всю БД использует уровень изолированости транзаций snapshot. Но еще интересней, что строчкой выше закоментирована строка
--SET TRANSACTION ISOLATION LEVEL READ COMMITTED
Как я понимаю READ COMMITED не смог выдать консистентный результат, но специалисты не стали использовать тут "родной" для блокировочника SERIALIZABLE, а включили SNAPSHOT на всю базу. Очень будет интересно будет понаблюдать в дальнейшем кто победит snapshot или serializable в остальных тестах.

июля 13, 2007

Еще однин тест TPC-C на схожем железе

На этот раз mssql2k5 вывели вперед: 372,140 tpmC mssql2k5 vs 359,440 tpmC у oracle10g
однако разница между результатами целый год и и/о система с mssql оснащена дисками следующего поколения: 590 SAS vs 546 UltraSCSI дисков у оракла.

Oracle10g

MSSQL2k5

июня 20, 2007

Gartner посчитал рынок rdbms за 2006 и по операционным системам

Software Revenue, 2006 (Millions of Dollars)


Company

2006

2006 Market Share (%)

2005

2005 Market Share (%)

2005-2006 Growth (%)

Oracle

7,168.0

47.1

6,238.2

46.8

14.9

IBM

3,204.1

21.1

2,945.7

22.1

8.8

Microsoft

2,654.4

17.4

2,073.2

15.6

28.0

Teradata

494.2

3.2

467.6

3.5

5.7

Sybase

486.7

3.2

449.9

3.4

8.2

Other Vendors

1,206.3

7.9

1,149.0

8.6

5.0

Total

15,213.7

100.0

13,323.5

100.0

14.2


По операционным системам:
Unix: 34.8%
Windows: 34.5%
Linux: 15.5%

http://www.gartner.com/it/page.jsp?id=507466

июня 16, 2007

Наткнулся на интересный документ


















Жаль картинка старовата, но зато есть расшифровка:

Business Processing
ERP
CRM
OLTP
Batch
IT Infrastructure
File & Print
Networking
Proxy/Caching
Security
Systems Management
Decision Support
Data Warehousing/Mart
Data Analysis/Mining
Collaborative
E-Mail
Workgroup
Web Infrastructure
Streaming Media
Web Serving
Scientific/Engineering
Application Development
Other

из картинки получается, что "Mission critical" задачки типа Decision Support и Business Processing на виндовсе встречается лишь в 15% случаях.

IDC: World wide RDBMS Sof twar e Revenue by Vendor

IBM на втором месте, однако тут на самом деле сложили 4 различные субд (db2 LUW, z-series, i-series, informix). по данным gartner на 2004 по самой продвинутой субд от IBM db2 LUW расклад был такой:

Unix 514.1
Linux 105.8
Windows 487.2

т.е. из $2,554.0 DB2 LUW заработал лишь $1,107.1 это меньше чем майкрософт (остальное это db2 для i и z series, которые имеют отличную от LUW и друг друга архитектуру и во многом не совместимы).
еще из таблины видно, что в обсалютных цифрах Оракл вырос на $1,000M в то время как Microsoft на $600M, однако потерял 0.2% в общей доле, в то время как MS и IBM прибавили 0.2% (сравнивал с прошлогодним документом).

Oracle 11g

Судя по всему oracle 11g выйдет уже 11 июля, т.е. меньше чем через месяц.

Подробнее

Пропустил новость

Standart и Standart one редакции оракл теперь лицензирует по сокетам:
In addition, for all programs with Standard Edition or Standard Edition One in the program name, Oracle recognizes a socket as equivalent to a processor for the purposes of counting and licensing these programs. The number of cores on a chip in a socket does not matter when determining the number of processor licenses required for these programs.

http://www.oracle.com/corporate/pricing/multicore_faq.pdf

SUN vs POWER6

Пока на sql.ru модерирует ходящий мудаг, решил пофлеймить за бугром :)

Подробнее

февраля 28, 2007

Новости TPC-C

Оракл на 64 dual-core Itanium2, оракл сделал лучший результат DB2 на 32 dual-core Power 5+, что интересно при этом цена обоих систем одинакова.

Подробнее

февраля 27, 2007

УРА! TPC-E опубликован

Наконец опубликована спецификация TPC-E нового OLTP теста от tpc.org.
Осталось дождаться самих тестов.

Подробнее