Engineered System at home. Part 2

Первая часть здесь.

Учить почтенных донов устанавливать Virtual Box и Oracle Linux 7 я не могу. Могу сделать только несколько замечаний, которые, я надеюсь,  упростят вам жизнь.

Это конфигурация моей виртуальной машины. Ничего необычного нет - я отвел 8Gb под системную часть Linux (этого более чем достаточно), сделал 8 дополнительных устройств под cell disks & cell flash. У меня два сетевых адаптера - через первый NAT я выхожу в интернет (мне пригодится доступ к public-yum) через второй впоследствии я буду пускать траффик между базой данных и cell.



Установка Oracle Linux крайне просто и приятна - mininal install избавляет вас от необходимости долгого и нужного удаления ненужных вам firewall и прочего. Стартует такая машинка крайне быстро, что очень важно для моего виртуального дата центра.

После установки Linux у вас (спасибо Oracle!) автоматически есть правильно настроенная конфигурация yum и вы можете выполнить yum update.

В Linux 7 появился новый способ управления сетевыми интерфейсам  NetworkManager -  так вот, он нам не нужен.

[root@cell01 ~]# systemctl stop NetworkManager

[root@cell01 ~]# systemctl disable NetworkManager 

Вам придется руками поправить файлы

ifcfg-eth0
ifcfg-eth1 
/etc/hosts


[root@cell01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.32 cell01

[root@cell01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.1.32
PREFIX0=24
NETMASK=255.255.255.0
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=eth1
UUID=601655f0-39bb-40e2-adc3-7a2977ffc96f
DEVICE=eth1
ONBOOT=yes


Важные моменты я выделил красным. В 2014 году Oracle по прежнему продолжает парсить сетевые файлы конфигурации вручную и ..не найдя там ожидаемых слов (например netmask, которое не нужно больше из-за NetworkManager) падает с паникой.

У меня также возникла проблема с установкой Virtual Box Guest Additions. Дело в том, что для этой установки нужны kernel headers, для этого вам нужно будет доустановить пакет kernel-uek-devel (в то время как я я искал что-то вроде kernel-uek-headers и не нашел такого).

Остается поправить параметры ядра

cat  /etc/sysctl.conf

fs.file-max = 65536
fs.aio-max-nr=50000000

net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=2097152

vm.nr_hugepages=1787        <---------- font="" nbsp="">


cat /etc/security/limits.conf

* soft nofile 655360
* hard nofile 655360
* soft memlock 4096000
* hard hemlock 4096000

cat  /etc/pam.d/login

session    required /lib64/security/pam_limits.so
session    required pam_limits.so


Все, мы готовы установить наш cell rpm. Перед установкой нужно доустановить

yum install 'perl-File*’
- yum install ‘unzip*'
- jdk-8u25-linux-x64.rpm   -- обращаю ваше внимание на версию java! Так что требуется в dependencies не работает нормально на Linux 7! 

а также разрешить прочие dependencies из списка ниже




Правильная установка выглядит как показано ниже

rpm -ivh cell-12.1.1.1.1_LINUX.X64_140712-1.x86_64.rpm


rpm -ivh cell-12.1.1.1.1_LINUX.X64_140712-1.x86_64.rpm
Подготовка...               ################################# [100%]
Pre Installation steps in progress ...
Обновление / установка...
   1:cell-12.1.1.1.1_LINUX.X64_140712-################################# [100%]
Post Installation steps in progress ...
Set cellusers group for /opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy/log directory
Set 775 permissions for /opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy/log directory
/opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy
/opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy
/opt/oracle/cell12.1.1.1.1_LINUX.X64_140712
Installation SUCCESSFUL.
Starting RS and MS... as user celladmin
Done. Please Login as user celladmin and create cell to startup CELLSRV to complete cell configuration.


Почти все готово. Было не сложно, правда?



Нам осталось поправить cellinit.ora и создать cell!

[root@cell01 3.8.13-44.1.1.el7uek.x86_64]# cat /opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy/config/cellinit.ora

CELL Initialization Parameters
version=0.0
#_cell_num_buffers=1000
_cell_fc_bootstrap_timeout=50000000
RMI_PORT=23791
HTTP_PORT=8888
_cell_print_all_params=true
JMS_PORT=9127
_cell_disable_ant_check_reid=true
BMC_SNMP_PORT=162
_reconnect_to_cell_attempts=4
DEPLOYED=TRUE
ipaddress1=192.168.1.32/24
SSL_PORT=23943
#_cell_max_memory=2000
bbuTempThreshold=60
_cell_cd_metadata_prepare_timeout_in_sec=50
_cellrsdef_max_auto_timeout=200
_cell_state_dump_timeout_in_sec=10
_cellrsdef_heartbeat_timeout=600
_skgxp_udp_use_tcb=true
_skgxp_udp_use_tcb_client=true
_skgxp_gen_ant_off_rpc_timeout_in_sec=300
_reconnect_to_cell_freq_in_sec=4
bbuChargeThreshold=800
_cellrsos_start_timeout=300

#
_cell_fc_scan_threshold_timeout=10
_cell_gd_io_quiescent_timeout=100
_cell_oflsrv_heartbeat_timeout_sec=60
# Test VM
#_cell_executing_in_vm=TRUE

# Huge pages test
_cell_1mb_buffers_hugepage_support=TRUE
cell_reserve_hugepage_memory_mb=1000


Важнейшим параметром является ipaddress1. Прочие опциональны, но именно с такими у меня работает.  Параметр _cell_print_all_params=true позволит вам познакомится в alert.log со множеством прочих скрытых параметров.

Мы готовы запустить cell!

[celladmin@cell01 ~]$ cellcli -e alter cell restart services all

Stopping the RS, CELLSRV, and MS services...
The SHUTDOWN of services was successful.
Starting the RS, CELLSRV, and MS services...
Getting the state of RS services...  running
Starting CELLSRV services...
The STARTUP of CELLSRV services was successful.
Starting MS services...
The STARTUP of MS services was successful.


наблюдать за происходящем можно в alert.log
tail -f  /opt/oracle/cell/log/diag/asm/cell/cell01/trace/alert.log


Мы готовы создать cell!


su - celladmin 

CellCLI>  ALTER CELL SHUTDOWN SERVICES CELLSRV;


CellCLI> create cell cell01 interconnect1=eth1
Cell cell01 successfully created

Теперь нам нужны диски

cd /opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/
mkdir -p disks/raw
chown  -R celladmin disks/

Дальше нужно сделать symlinks на устройства, эмулирующие диски 

lrwxrwxrwx. 1 celladmin root    9 Oct 21 20:25 cell01_DISK01 -> /dev/sdb1
lrwxrwxrwx. 1 celladmin root    9 Oct 21 20:25 cell01_DISK02 -> /dev/sdc1
lrwxrwxrwx. 1 celladmin root    9 Oct 21 20:25 cell01_DISK03 -> /dev/sdd1
lrwxrwxrwx. 1 celladmin root    9 Oct 21 20:25 cell01_DISK04 -> /dev/sde1
lrwxrwxrwx. 1 celladmin root    9 Oct 21 20:26 cell01_FLASH01 -> /dev/sdf1
lrwxrwxrwx. 1 celladmin root    9 Oct 21 20:26 cell01_FLASH02 -> /dev/sdg1
lrwxrwxrwx. 1 celladmin root    9 Oct 21 20:26 cell01_FLASH03 -> /dev/sdh1
lrwxrwxrwx. 1 celladmin root    9 Oct 21 20:26 cell01_FLASH04 -> /dev/sdi1


Я создал на каждом из устройств primary partition но не уверен были ли это обязательно.
Кто то еще забивает нулями устройства. Также не могу сказать обязательно ли это.

Создаем диски


CellCLI> create celldisk all harddisk
CellDisk CD_DISK01_cell01 successfully created
CellDisk CD_DISK02_cell01 successfully created
CellDisk CD_DISK03_cell01 successfully created
CellDisk CD_DISK04_cell01 successfully created

CellCLI> create celldisk all flashdisk
CellDisk FD_00_cell01 successfully created
CellDisk FD_01_cell01 successfully created
CellDisk FD_02_cell01 successfully created
CellDisk FD_03_cell01 successfully created
CellDisk FD_04_cell01 successfully created
CellDisk FD_05_cell01 successfully created 

CellCLI> CREATE FLASHCACHE ALL SIZE=2G
Flash cache cell01_FLASHCACHE successfully created

CellCLI> CREATE  FLASHLOG ALL SIZE=100M
Flash log cell01_FLASHLOG successfully created


celladmin@cell01 ~]$ cellcli -e create griddisk all harddisk prefix=DATA
GridDisk DATA_CD_DISK01_cell01 successfully created
GridDisk DATA_CD_DISK02_cell01 successfully created
GridDisk DATA_CD_DISK03_cell01 successfully created
GridDisk DATA_CD_DISK04_cell01 successfully created
GridDisk DATA_CD_DISK05_cell01 successfully created

GridDisk DATA_CD_DISK06_cell01 successfully created 


CellCLI> list celldisk
CD_DISK01_cell01 normal
CD_DISK02_cell01 normal
CD_DISK03_cell01 normal
CD_DISK04_cell01 normal
FD_00_cell01     normal
FD_01_cell01     normal
FD_02_cell01     normal
FD_03_cell01     normal

CellCLI> list flashcache
cell01_FLASHCACHE normal

CellCLI> list flashlog
cell01_FLASHLOG normal

CellCLI> list griddisk
DATA_CD_DISK01_cell01 active
DATA_CD_DISK02_cell01 active
DATA_CD_DISK03_cell01 active
DATA_CD_DISK04_cell01 active

Перезапустим сервисы, чтобы убедиться что у нас все хорошо


[celladmin@cell01 ~]$ cellcli -e alter cell restart services all

celladmin@cell01 ~]$ cellcli -e alter cell restart services all

Stopping the RS, CELLSRV, and MS services...
The SHUTDOWN of services was successful.
Starting the RS, CELLSRV, and MS services...
Getting the state of RS services...  running
Starting CELLSRV services...
The STARTUP of CELLSRV services was successful.
Starting MS services...
The STARTUP of MS services was successful.


CellCLI> list cell detail
name:               cell01
bbuChargeThreshold: 800
bbuTempThreshold:   60
bmcType:           absent
cellVersion:       OSS_12.1.1.1.1_LINUX.X64_140712
cpuCount:           2
diagHistoryDays:   7
fanCount:           0/0
fanStatus:         normal
flashCacheMode:     WriteThrough
id:                 ab189a0f-abd4-4f74-8413-5b4c6d419943
interconnectCount: 0
interconnect1:     eth1
iormBoost:         0.0
ipaddress1:         192.168.1.32/24
kernelVersion:     3.8.13-44.1.3.el7uek.x86_64
locatorLEDStatus:   unknown
makeModel:         Fake hardware    <---- -="" font="" nbsp="">
metricHistoryDays: 7
offloadGroupEvents:
offloadEfficiency: 1.0
powerCount:         0/0
powerStatus:       normal
releaseVersion:     12.1.1.1.1
releaseTrackingBug: 18084575
status:             online
temperatureReading: 0.0
temperatureStatus: normal
upTime:             0 days, 1:12
cellsrvStatus:     running
msStatus:           running
rsStatus:           running





Мы очень близко. Очень. Почти все готово -)


PS
наблюдение с помощью starce что же там все эти демоны делают привело к интересной команде, которая выдается на рабочей машине, каждый раз в момент старта демонов

chmod 666 /opt/oracle/cell/cells

Как вам? мне тоже понравилось. Парни явно не беспокоятся о безопасности. Можно много говорить, что это мол appliance, там никого не должно быть, но так писать код просто нельзя.


PS.2

Кстати, если что то идет не так, падает, и вы не понимаете почему - то можно начать сначала в любой момент:

Удаление пакета:
rpm -ev cell-12.1.1.1.1_LINUX.X64_140712-1.x86_64


rm -rf  /opt/oracle 




Читать дальше...

Engineered System at home. Part 1

Мы много раз слышали что Oracle Database лучше всего работает на Exadata и SuperCluster. Некоторые из вас смогли убедиться в этом лично. Для прочих безденежных донов я предлагаю возможность собрать одну из таких систем дома,  чтобы внимательно рассмотреть инновации, которые позволяют сделать первое утверждение.

Для начала соберем Exadata. Позже перейдем к SuperCluster.  Сразу возникает два вопроса:

1. Законно ли то что мы собирается сделать?
2. Зачем мы собираемся сделать это?

Законно ли

Все программное обеспечение мы с вами получим с edelivery.oracle.com по Trial license agreement. Мы ведь знаем с вами, что даже если что-то можно скачать, то это не обязательно законно, не так ли?

Если проявить занудство и прочитать этот самый agreement то:

Oracle is willing to authorize your access to software you wish to download from this portal only upon the condition that (1) you have already obtained a license <> or (2) <> you accept that the Oracle Trial License Agreement below.

<..>
The "Trial Term" shall be 30 Days from the date of your acceptance of the terms and conditions of this Agreement.
<..>
This Trial Agreement grants you the temporary right to use the Programs for evaluation purposes on your single computer designated by you. 


Прекрасно, это именно то, что мне нужно - single system for evaluation purpose.  Вам же необходимо прочитать agreement самим и решить самостоятельно, имеете ли вы право на использование данных продуктов.

Зачем

Так как Oracle Engineered Systems самые лучшие и производительные в мире, я бы хотел поучиться на их примере лучшим практикам.

С другой стороны, есть возможность дома получить одновременно и In-Memory и HCC и посмотреть, посравнивать трудозатраты по переводу приложений на эти технологии. Рассмотреть планы выполнения sql запросов. Оценить, будут ли использоваться возможности Exadata для вашего приложения.   Сравнить производительность будет затруднительно, если только вы не будете использовать реальное железо в своих тестах.


ПО

Я уже упоминал, что нам понадобиться скачать ПО с edelivery.oracle.com.








После загрузки и разпаковки архива вы получите файл cellImageMaker_12.1.1.1.1_LINUX.X64_140712-1.x86_64.tar.

Как следует из названия предназначение этого архива - делать image для Exadata cells. В интеренете нашлись умельцы кто даже запустил процесс инсталляции этого image. Но нам этого не нужно.


Для нас с вами интерес же будут представлять два файла из архива

x dl180/boot/cellbits/cell.bin
x dl180/boot/cellbits/doclib.zip

Второй - очевидно документация, первый же представляет собой архив zip из которого мы с удовольствием достаем cell-12.1.1.1.1_LINUX.X64_140712-1.x86_64.rpm

Этот rpm - единственное что нам понадобиться для дальнейшей установки. Но давайте осмотримся немного в архиве. Мы легко найдем там упоминание ядра Linux на котором работает cell  -   config-2.6.32-300.19.1.el5uek. Это интересно, у Oracle уже есть Oracle Linux 7 - ведь там все инновации, там новейшие драйвера infiniband, а вовсе не в 5.9 (если я не путаю) - этому ядру уже 4 года! Вот тебе и инновации -(  Кстати, этот неприятный вывод подтверждается и в MOS 888828.1.

Так как мы собираем все для себя то конечно таким старьем мы пользоваться не будем. Подготовьте дистрибутив Oracle Linux 7 пока я пишу часть два - установка cell. Мы все таки собираем инженерную систему!

Для одного cell нам понадобится:
- Последний Virtual Box (или bare metal hardware)
- 4 Gb памяти на cell (можно меньше, мне кажется объем требуемой памяти зависит размера дисков которые вы будет использовать)
- Дисковое пространство для дисков и эмуляции Flash Cache. Мне пришлось нарезать LUN (на файлах не заработало), их кол-во зависит от вашего желания, но смотри выше замечание по памяти.
- Oracle Linux 7 установленный в режими minimal install

Нам не понадобятся:
- Настоящие Flash или SSD
- Поддержка RDS
- infiniband; у нас все должно получиться с вами по UDP.

PS
Забегая вперед - не все возможности Exadata у нас заработают. Сжатие (компрессия)  Flash Cache мне не удалось запустить. Наверное, что то еще не заработает. Но с точки зрения оптимизатора все должно выглядеть по настоящему - он то не знает что у него на другой стороне  -)


Читать дальше...

Ну что же ты, IBM -(

Вчера IBM подписало соглашение (Definitive Agreement) о передаче своего полупроводникового производства   (global commercial semiconductor technology business)  компании GLOBALFOUNDRIES.

Если дочитать до конца, то слова передача трансформируется в то, что IBM еще доплатит за это (Cash consideration of $1.5 billion is expected to be paid to GLOBALFOUNDRIES by IBM).

Конечно заказчики не пострадают. Конечно же IBM продолжит делать сервера. В соглашении упомянут срок в 10 лет, пока GLOBALFOUNDRIES обязуется делать новые процессоры. Но, в какую обертку это не заворачивай, это чисто бизнес решение, основанное на получение прибыли. И также ясно, что взят курс на сокращение hardware производства, как не выгодного компании. Понятно, что из прибыли за hardware оплачивалась разработка очень многих решений, включая AIX, виртуализацию и прочее. Несмотря на то, что пресс релизе этого нет,  в различных интервью уже упоминались сокращения, очевидно в разработке.

10 лет это много или мало? Уже сейчас проводятся тендеры где компании требуют предоставить от вендоров нарантий и пути развития на следующие 5 лет.

Если вспомнить, что в этом году IBM уже продала x86 бизнес Lenovo -  сложно будет говорить о каких то инновациях,  связанных с hardware. Мы видим невероятную историю, как самая большая и сильная в мире hardware компания становится software/cloud компанией.

Лично я считаю, что никакие бизнес решения такого уровня не могут сохранить технологии. Это курс на вымирание технологий в пользу прибыли. Я считал приобретение Oracle'ом SUN также убила дух компании. Хотя теперь и страшно подумать, чтобы было если бы IBM приобрел SUN, ведь была и такая идея.... -)


Читать дальше...

SAPS

Поразжигаем немного? За последнее время вышло несколько интересных тестов SAP, в том числе на Power 8.

Картинка номер раз  - SAPS на процессор (которые названы сокетами на картинке). В красных овалах приведена сравнительная производительность с Power 7 2010 года. Нажмите на картинку чтобы получить ее в большем разрешении.

Почему SAPS?  В первую очередь, это наиболее стандартные в мире тесты, и сам SAP не производит hardware. Во вторую очередь, SAPS лицензируется по бизнес пользователям (в большинстве ситуаций), а не per core или per socket. Таким образом  легко отделить цену hardware от software.



Несколько наблюдений:

- Современный Intel на уровне или выше Power 7+
- Смотря на прирост производительности  SPARC между M5 и M6 сложно поверить что M7 сможет догнать даже Intel.
- Выбрав правильный столбики (и убрав мешающие)  я последовательно легко докажу что Power круче всех, Intel круче всех, SPARC круче всех.  Поэтому я привел на диаграмме не только последние результаты, но и за несколько лет назад.

Следующая картинка - SAPS per core. Per Core очень любит IBM. Тут у IBM хороший результат, но поскольку SAP не лицензируется по cores, то …это не важно. Важен не сам performance, а price/performance который к сожалению зависит от многих факторов, в том числе полученных скидок, ландшафта, будет ли использоваться вирутализация или нет и тд. Нарисовать price/performance может только конечный заказчик.






Вместо заключения:

Когда вы видите графики только производительности, вы теряете свое время. Нужны график price/perfromance. Причем price должен включать с себя и стоимость и Hardware и  Enterprise Software (если она зависит от hardware).

Чисто на померяться пип*** IBM лидирует в тестах SAP по performance. В тоже время очевидно что взяв любого заказчика на Power 7/Power 7+ и переведя его на Intel x86 вы получите сравнимую производительность, экономию на стоимости поддержки,  неизвестную величину в стоимости общего решения (которая зависит от ландшафта и желания использовать вирутализацию), потеряв в надежности, которую никто не умеет измерять и ценить.


Update 1.

SAP on Oracle Development update.


Читать дальше...

OOW 2014. Conclusion.

Наверное первый раз не знаю, что написать в завершение всегда такой интересной конференции. Я вообще не понял, что было презентовано. ZLDRA - все технологии там от Standby. Backup Standby вместо Primary можно делать не вспомню сколько лет. Ларри реально договорился до того, что восстановление  без ZLDRA возможно только на момент последнего backup, видимо point-in-time recovery теперь не в тренде. FS1 Flash Storage в котором нет Flash. M7 - там много интересного, но, как я писал, пока сложно отделить правду от маркетинга. Будем потихоньку отделять. M7 обещали в середине 2015 года, пока появился SAP SD тест  Power 8, можно наверно делать какие то прогнозы.

Я что то забыл, пропустил? Вообще кто-то что то пишет в русском интернете о OOW? Я пока видел посты в блоге Игоря Мельникова и больше ничего. Если вы что-то видели или писали - с удовольствием поставлю ссылку.

Возможно конференция случилась не такой интересной как прежде, потому что основные новинки вышли раньше в этом году.

Конечно было много интересных презентаций, но чтобы их услышать нужно было быть на конференции. Их сейчас правда выкладывают, найти их можно в  Content Catalog - правда не могу сказать, всем ли он доступен или нет. В общем, получается конференция для самих участников - сами приехали, сами сделали себе интересные презентации -).

Ну и чтобы не заканчивать на грустной ноте, предлагаю вам анекдот из переписки гуру:



Читать дальше...

OOW 2014. Day 3.

Если вы архитектор, или руководитель IT любого уровня, обязательно посмотрите видео John Fowler 'Real-Time Enterprise'. John говорит медленно и очень понятно, раскладывает по полочкам,  что сделал Oracle и почему это круто, достаточно техническим языком, который в тоже время  легко адаптировать для бизнеса.

Однако, самое интересное начинается с 39:30. Если до этого  John говорил о multitenant, и бизнес преимуществах этой опции,  то тут он внезапно обнаружил, что после того как вы сложили 200 баз данных на один хост,  определить кто оказывает какую нагрузку на I/O,  не представляется возможным. Для массива EMC это нагрузка с хоста, и все. С одного хоста.  Шах и мат, администраторы массива!

Но вам беспокоится не нужно, Oracle уже работает над этим, и новый ZFS Appliance будет позволять вам видеть прямо привязку I/O к имени БД. А массив EMC давно нужно было сдать у утиль истории.

Немного подумав, John также обнаружил, что раз теперь у вас 200 баз данных, кто какими там права обладает неясно, и, при не очень больших ухищрениях, везении, и сопутствующих багах,   можно будет получить доступ к общей памяти..в которой совершенно чужие вам данные. Особенно если это In-Memory pool….Не волнуйтесь, новый SPARC M7  процессор будет понимать, к какой памяти давать доступ какому SQL, а к какой не давать.

В заключение было еще несколько очень крутых фич M7, но я все их откладываю, чтобы написать большой положительный пост.

На фотографии, лишь некоторые из эмоций которые вы испытаете начиная с 39:30…-)


Читать дальше...

OOW 2014. Day 2. General Session Database.

General Session - Database, Andy Mendelsohn, EVP of Database Server Technologies . Запись можно смотреть тут.

Конечно же очень интересно, что будет происходить в сфере Database и Engineering Systems. В прошлые годы можно было услышать над чем идет работа, чего стоит ожидать. В этом году ограничились повторением уже сделанного. Так что если вы менеджер и не имели возможности следить за всеми новинками - смело смотрите, вам будет интересно. Прочим могу рекомендовать только как курс английского языка. Ну или посмотреть демонстрацию, начинающаяся с примерно в 50:30 как объединить данные в СУБД и Hadoop - ее можно посмотреть, и наглядно, и много времени не займет.

PS Где то в середине сесси, есть интервью с аналитиком Gartner, который говорит, что In-Memory это экономия денег, так как удастся загрузить сервер больше. Я конечно же, не хотел бы с ним спорить, но он не прав. Не научились люди еще загружать сервера загрузкой равномерно все 24 часа. На практике будут пики, из-за которых придется купить еще больше лицензий.  Хотя я и  понимаю, что с такой позицией слона не продашь, и он поэтому аналитик в Gartner, а я пишу в бложик -))


Читать дальше...

OOW 2014. Day 2.

В этот день выступал Ларри, уже в роли CTO. Сам (!) показал демонстрацию, даже несколько. Все это не может не вызывать восхищения. Не знаю, насколько его хватит, чтобы играться с кнопочками, но он все равно молодец.

Сама выступление вот тут.

Ларри показывал как легко и просто переместить БД в cloud. Совершенно внезапно оказалось, что есть такая возможность как transportable database, которая превращает БД в набор файлов, которые затем присоединяют к уже существующей CDB в клауде. Все заняло меньше 10 минут.
Оченвидно у заказчика уже должна бы 12c, крайне желательно на Linux, и желательно небольшая чтобы ее можно было залить по http. Amazon честно понимает, что некоторые объемы нельзя залить по http и пишет что вы можете привезти к нам диски. Я пока такой опции у Oracle не видел. Еще бы конечно хотелось бы создать там не новую базу, а standby чтобы догнать потихонечку с production  - наверное все предусмотрено, я просто не разглядел.

Какое время было посвещено дискуссии чем Oracle лучше остальных cloud провайдеров. Почему то основное время сравнивали с SalesForce. Это негодяи взяли базу данных Oracle в качестве основы, но потом сами написали вокруг тучу приложений и API чтобы заказчикам было удобно. Oracle развивает в cloud только свои приложения, кошерные.  Я бы и дальше ерничал по этому поводу, но поскольку все это к России в связи с необходимостью хранить персональные данные (а согласно букве закона это вообще все данные) нужно только в России, смысла это не имеет.  Соглашусь однако, что архитектурно, у Oracle все очень красиво, молодцы!


В завершении всем показали Big Data SQL, объявленный ранее. Я про него уже писал.  Оказалось, что если взять open source код, то в руках Oracle он будет работать сильно быстрее. Планы, конечно громадные, обучить big data делать smart scan, но пока это планы. Вещь и без сомнения, переспективная технология.


Стоил ли смотреть Ларри? Ларри всегда стоит смотреть - просто от этой презентации не стоит ждать открытий.


Читать дальше...

OOW 2014. Day 1.

Прямо перед OOW было объявлено что Ларри уходит. Однако многие не дочитали, что он решил заняться наконец тем, что любит - сосредоточится на технической части и стал Chief Technology Officer (CTO). Что же может себе позволить заняться любимым делом -)

Конечно же самым ожидаемым событием первого дня стало его выступление. Само выступление можно смотреть здесь, причем я бы промотал бы первые 50 минут. Нужно отметить, что за все время, ни разу не прозвучало слово IBM. Это интересно. На мой взгляд, IBM самоустранился от дальнейшей конкуренции, а значит и нет необходимости тратить силы.

Что же было объявлено:

 Теперь Можно будет получить виртуальную машину Oracle VM и ssh доступ к ней как root. Что такое Database Service я не понял, но согласно этой ссылке, это набор опций Enterprise Edition который вам насыпят. Цена? Не знаю, если кто напишет, я обновлю  пост.


Zero Data Loss Recovery Appliance.  Этот продукт уже объявляли в прошлом году, Ларри просто забыл (шутка). Хитрый standby который работает сразу со обоими типами bit endianness и куда необходимо направить ваши логи в real time режиме. И дальше, о чудо, можно даже делать инкрементальные backup. Насколько я понял, уникальная там только технология Delta push, которая позволяет вам сделать full backup только один раз в жизни, а затем постоянно делать incremental. Мое мнение - я все могу сделать тоже самое, просто геморроя будет много. Найдутся большие конторы которые просто купят эту коробочку, чтобы забыть про проблему.


Самые громкое объявление - Flash Storage от Oracle.

Мне очень понравилось что он поддерживает Hybrid Columnar compression и там очень много места, и автоматический tiering.
Надо брать. Правда, в спецификации, самого Flash я не нашел - есть SSD и обычные диски. Но это я придираюсь, конечно же. Привычка.


Exalytics - почти два года разрабатывали свой софт для In-Memory, теперь решили что это не нужно и заменили его на обычную 12c в которой уже есть In-Memory.
Разумное решение, хотя и команда разработчиков наверно осталось не очень довольна. Бизнес, ничего личного.





Последнее в списке объявление - SPARC M7. Достойно отдельной темы, слишком уж там много слоев маркетинга. Отмечу, что Ларри сказал что команда SPARC очень плотно работает с Intel чтобы … рассказать им что они делают в SPARC.  В общем, если конкуренции с IBM больше нет, то и смысла упираться в SPARC тоже нет.


Читать дальше...

12 Looks at Oracle Database 12c - my own about In-Memory

I did not manage to visit Oracle Open World this year, but I've took part in very exciting program, which called 12 looks at Oracle Database 12c.

Please find my presentation regarding In-Memory option, or, more specifically, architecture approach you should follow to successfully implement Oracle In-Memory.

I found, that for real world implementation Oracle Engineering system would be required. Even though price could be a issue for a such implementation,  I believe i could be managed during initial sales conversation with Oracle representative, having in my total cost of solution (Enterprise Edition, RAC, Partitioning, In-Memory).

Have a look!

PS Hmm..I have a vide too…but its too funny to share it with you…-)

Update 1.

In my presentation above I made a suggestion that Exadata should have the same format as In-Memore. Below is a slide, that in Flash data will be in two formats. It will possible soon to have true memory hierarchy between DRAM, Flash and spindle drives (soon, I hope) - data will be compressed everywhere in the same manner.




Читать дальше...

How to find a good job. Part 2.

Первая часть.  Я решил оставить на сладкое еще один мега-вопрос: 'кем вы видите себя через 5 лет?'. Если это вопрос задается вам на собеседовании большим начальником, гуру SQL.ru рекомендуют отвечать - 'я вижу себя на вашем месте'.  Прекрасный ответ, если вам не очень нравится эта компания -)

Однако, при всей очевидности того, что на этот вопрос должна ответить компания - это же очевидно,  что они должны вам рассказать о вашем росте - это постоянно будут спрашивать именно у вас, чтобы понять готовы ли вы развиваться, в понимании компании, а не в вашем.


Читать дальше...

Oracle Database In-Memory. Part 4.

Решил написать о некоторых занятных  публикациях, которые появились в последнее время в области In-Memory. По большей части они касаются лицензирования.

Kevin Closson нашел занятный баг, при котором, если вы обновили свою СУБД до версии 12.1.0.2 и просто выдали команду на создание таблицы

create table <>  inmemory

вместо ошибки, таблица создается, но вот что действительно плохо, Oracle начинает считать, что вы использовали In-Memory опцию, а поэтому пора бы и заплатить.

Почему я ожидал бы ошибку? По умолчанию, параметр INMEMORY_SIZE равен 0 - поэтому, разумно было бы ожидать ошибку, ведь мы не выделили место (память)  под таблицу. Но вот, что путает, так то  что существует отдельный параметр INMEMORY_QUERY, по умолчанию TRUE. Так вот похоже, что если INMEMORY_QUERY=TRUE Oracle начинает считать, что опция использовалась несмотря на значение параметра  INMEMORY_SIZE. Кстати, если, вы запустите (просто запустите!)  СУБД c  INMEMORY_SIZE >0 - вы также начали использовать опцию In-Memory. Итого, совет, если вы не готовы закупаться лицензиями - установите параметр INMEMORY_QUERY = FALSE.

Oracle даже написал разгромную статью, что Kevin не прав -), что не помешало завести bug  -)

James Morle написал архитектурного рода пост, где в том числе, делается вывод, что помимо платы собственно за In-Memory, все ошибки проектирования вашего приложения, вместо того, чтобы оставаться в области ввода-вывода, перейдут на память, а следовательно, вам придется закупить больше CPU. Сами процессоры (x86) относительно дешевы, но вот процессорные лицензии Oracle на них - не очень. Покупая новые процессоры, вы не только заплатите за новые лицензии но и скорее, всего уйдете за возможности 2 сокетного бокса, а с ростом числа сокетов, вы попадете в ловушку с  NUMA архитектурой - доступ к памяти, расположенной на других сокетах дороже доступа к памяти локального сокета.

Интересно, что похожа идея 2-х  сокетных боксов соединенных между собой Infiniband, начинает  побеждать - IBM, который не особенно поддерживал (ok, своеобразно поддерживал)  Infiniband на Power и AIX, решил добавить поддержку Infiniband в свое cloud решение SoftLayer.  Идея небольших коробочек, из 2 или 4-х сокетов соединенных Infiniband начинает завоевывать умы людей. Что интересно, это в точности модель hi-end серверов Power 770/7780/795 -))  с тем отличием, что у hi-enf  общая память организуется на аппаратном уровне, в то время как  у отдельных коробочек на уровне программного обеспечения (Oracle RAC).  Ужасная latency (по сравнению с аппаратным решением), необходимость адаптировать приложение - ничего не останавливает людей - все хотят россыпь маленьких серверов. Это прекрасно - учите RAC и всегда будете получать хорошую зарплату -)


Читать дальше...

Intel Designs Custom Chip for Oracle Exadata

На днях наткнулся на фантастическое сообщение от Intel: "This customized version of the Intel Xeon processor E7 v2, developed in collaboration with Oracle, helps maximize the power of the Exadata Database Machine X4-8 .." 

Как не сложно заметить тут две новости: вышла Exadata X4-8 и, как может показаться на первый взгляд, какой то специально модернизированный chip Intel для нее! Фантастика, надо разобраться! 


Нет лучше источника информации,  чем официальный пресс релиз Oracle откуда мы узнаем:


'

For the database compute nodes, Exadata Database Machine X4-8 uses the Intel® Xeon® E7-8895 v2, an optimized 15-core microprocessor that elastically scales frequency and number of active cores to help deliver peak workload performance.
'


Динамически меняет число активных ядер! Может можно теперь платить меньше, если используешь меньше ядер?  Одно просмотр спецификации процессора E7-8895 на сайте Intel показывает только так называемые C-State - когда ядру нечего делать, процессор может его потихоньку переводить в спящее состояние, чтобы экономить электроэнергию. Таким образом, число ядер остается постоянным в системе. К сожалению, никак сэкономить эта технология не поможет. 






Вторая часть, связанная с динамическим увеличением частоты более интересная: Как видно, если на целое ядро у нас нашлась только одна задачка, то выполняться она будет на частоте 3.6HGz. Как только задачек станет больше, частота будет понижаться,  дополнительные ядра будут переводиться в активное состояние.



Прекрасные технологии Intel, полезные и приятные на ощупь. Intel сокращает отставание от IBM Power, значительно обгоняя в маркетинге. Как вы видите, ничего специального для Exadata в этом чипе нет, но для обеих компаний это прекрасный информационный повод еще раз напомнить о стратегическом сотрудничестве.   


Intel также анонсировал что '  Intel has cooked up a hybrid chip that bolts a Field-Programmable Gate Array onto its high-end Xeon E5 server chip'. Технология FPGA уже есть в Power 8, и ее теоретически можно было бы использовать для обработки данных на низком уровне, как это делает Netezza. Но IBM, по крайней мере пока, этого не сделал. Вот если Oracle применит эту технологию в Exadata cells это будет бомба. Но мое предсказание - это не случиться еще по крайне мере несколько лет. 


Читать дальше...

Oracle In-Memory is here!

С сегодняшнего дня Oracle 12.1.0.2 доступен для скачивания, а значит мы все имеем возможность прикоснуться к официальной документации и посмотреть, что из

наших пожеланий реализовано и насколько я угадал, как это будет работать.

Если вам интересна именно In-Memory еще раз рекоменду вам blog Maria Colgan.

Поскольку 12.1.0.2 это полноценный pathset, кроме ожидаемой In-Memory он содержит  несколько интересных вещей, таких как Automatic Big Table Caching, Full Database Caching, Zone Maps. Прочитать о них можно в  New Features.

Update 1.

Одно можно сказать точно на данный момент: стоимость In-Memory равна $23K USD на Процессор, или, вместе с опцией RAC это дает удвоение стоимости лицензии Enterprise Edition.





Читать дальше...

How to find a good job. Part 1.

Я решил начать серию постов о поиске работы. Материалов об этом вагон, но не все советы применимы именно к IT. Я постараюсь писать о специфике, связанной именно с Oracle.

Начну с середины, с первой встречи с компанией,  поскольку как мне кажется, именно отсюда лучше всего будет видно, как следует составлять свое резюме, как выбрать компанию и тд.

Итак, у вас есть резюме, вы даже его где то разместили, и вам позвонили и пригласили на встречу. Вы по новому для вас адресу, нервничаете, что можете опоздать, и пытаетесь судорожно вспомнить команды rman. Наконец, с 10 минутным опоздаем вы прорываетесь через охрану, вас сажают в кабинет, вы видите свою резюме с обаятельной дамы, сидящей напротив вас, думаете "ну она то уж точно меня не завалит вопросами про rman" как неожиданно она вас спрашивает - "расскажите о себе".


Читать дальше...

IBM + Apple

Ну что за месяц, что ни день, то потрясающие новости: 




Официальный press release: "..IBM will also sell iPhones and iPads..". Представляете себе запрос заказчика: "2 Power 795 и 4 IPad пожалуйста".  И комментарии  бухгалтерии 'в этом заказе вычеркнем 1 IPad для уменьшения цены'. 


Тут парень прочитал и прокомментировал press release. Смешно получилось. 


Читать дальше...

Oracle Big Data SQL

Наконец-то все поняли, что нет никакого смысла в 10 десятке разных языков, один другого смешнее, pig, fig, hruk, impala-la-la, и что можно обойтись просто SQL.

Сегодня большой день - Oracle объявил о Big Data SQL. Вы сможете увидеть свои Big Data данные как (внешние) таблицы в Oracle. Просто напишите select - и загрузите данные из Twitter. Кто-то должен был сказать Twitter, чтобы они это сделали, но сделал это Oracle. Спасибо. Уф. Теперь на вопрос - знаю ли я что такое Big Data я буду с чистой совестью отвечать что уже 20 лет как -)



Судя по Data Sheet, можно предположить, что Oracle доработал обертку над Hive.  Сделал так, чтобы Hive металанные доехали до СУБД и там выглядели как таблицы. Красиво. Картинка справа нарисована Product Manager и похоже ему есть куда развивать свое умение рисовать -)



По дороге, опять таки, прикрутили Storage Indexes, как пишут,  прямо на стороне Hadoop.

Открытый вопрос - нужна ли Exadata на стороне СУБД - похоже,  что технически нет,
не нужна, но возможно внесут какие то ограничения, чтобы она была необходима. Пока надо подождать.

Посмотреть анонс. (не технический, как что работает из анонса непонятно)

Цитата: "Oracle Big Data SQL will be generally available in 3Q 2014"

Update 1. Хорошая картинка, из нее чуть больше понятно, что будет происходить. И этот блог пост также хорош.




Читать дальше...

ASH - it is a time to rethink what is inside

Пост обновлен  18.07.2014

После публикации первого поста о возможности анализа данных ASH с помощью Tableao, я получил весьма смешной комментарий, что я открыл для себя ASH. Помимо того, что это правда, такое же открытие в этом году сделали и некоторые весьма уважаемые сотрудники Oracle.

Убедительно прошу вас просмотреть одну из лучших презентаций на тему ASH, сделанную в этом году на RMOUG. (на секундочку, это rocky montains oracle users group, и вообще то материалы доступны только участникам. Но поскольку именно эта презентация сделана сотрудниками Oracle, ее выложили. Кстати, если посмотреть на сайт rmoug сразу понятно как должна выглядеть Users Group).

В презентации много интересного, но самое вкусное начинается после слайда "The ASH Fix-up Mechanism". Там рассказывается, как посчитать правильно latency. Большинство людей предполагало, что это avg (time_waited) where time_waited > 0 и можно найти даже книги по Oracle performance с такой формулой.


Все очень просто - запускаем SwingBench, где soe tablespace находится на отдельном устройстве и попробуем определить latency для db file sequential read.

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

>iostat -xkd 1 | awk '{ if ($1 != "" &&  $1!="Device:" && $1!="Linux") print strftime("%d/%m/%y %H:%M:%S",systime()),$1,$11 | "tee  iostat.dat" ;}'
и после окончания нагрузки 
>grep sde iostat.dat  | awk '{sum+=$4} END { print "Average = ",sum/NR}'


Результат - 2.6 ms

Теперь AWR - 2 ms. хо-хо - база данных считает, что она читала быстрее чем отдавал диск. Есть несколько объяснений, почему может быть такое, но в целом данные сходятся.






 Тестируем магическую формулу из презентации


Точнее, чем AWR - что не удивительно, поскольку в ASH просто больше данных.

Ну и наконец, посмотрим что нам дает нерекомендованный способ:

Update 1. Это конечно же 5.4 ms. - у меня плохо с операциями деления.


Фантастические данные, но к сожалению не имеющие отношения к реальности.

Мне сложно прямо сходу назвать причину, но если рассмотреть сырые данные, то можно увидеть, что только 1 из многих записей имеет реальное значение порядка 1.6 ms.






В комментариях Игорь обратил внимание что максимум -  1.6 sec, минимум 4.6 ms. Понятно, что одна операция ввода-вывода не может длиться 1 sec - у меня локальные ssd диски. С другой стороны, если это было чтение индекса, операций было много, время которое было затрачено, проставлено только в последней - тогда вроде бы все встает на свои места. Число операций, которые в сумме дали нам 1.6 остается нам неизвестным, посколько были очень короткие, и sample на них просто не попали.



Согласно описанию, по крайне мере как я его понимаю, поскольку все чтения диска длятся очевидно меньше 1 s, time_waited отражает просто момент времени на который пришелся sample. Фактически, мы получим все возможные распределения от 0 до 2.6 ms (которое,  по видимому, отражает реальность).


Вот еще картинка из dba_hist_event_histogram. Oracle считает что да, были события по 2 ms.

Пусть очень мало, но все таки было. Хотя мне кажется, что это что то с аккуратностью сбора  статистики.












PS
Я  разговаривал с одним DBA, который занимается исключительно performance tuning в своей  компании. Так вот, вся команда PT не имеет доступа к production systems. Они могут только запрашивать данные, на основании которых давать свое заключение. Честно говоря, первый раз о таком услышал, что внутри компании такие ограничения. Но вот эта группа не очень чувствует чем им может помочь ASH - они больше ориентируются на AWR, что явно не лучший способ в наше время!


Читать дальше...