Oracle Autonomous Transaction Processing - хорошее начало

Tags: Oracle, Transactions

Прошел почти год с последнего Open World, где Oracle CTO и основатель Ларри Эллисон провозгласили новую, полностью автономную службу облачной базы данных. Это привлекло большое внимание, и почти все в сообществе Oracle задавались вопросом, когда услуга станет доступной. Сначала, и некоторое время назад, мы получили облако хранилищ автономных данных Oracle (ADWC), и, наконец, совсем недавно мы смогли использовать версию On-Line Transaction Processing (OLTP). Она называется базой данных автономной обработки транзакций (ATP). И мы хотим поделиться первым впечатлением и ощущениями использования этой новой услуги. Пожалуйста, имейте в виду, что все, что упоминается здесь, является точным на момент написания. Oracle Public Cloud находится в постоянном состоянии быстрых изменений и инноваций, и некоторые функции или проблемы, которые мы видим сейчас, могут исчезнуть.

Давайте начнем с нуля и попытаемся создать экземпляр ATP. Мы открыли свою панель Oracle Cloud Dashboard, нашли Autonomous Database и нажали на нее.

Мы были перенаправлены на Oracle Cloud Infrastructure (OCI), где мы смогли найти автономную обработку транзакций - Autonomous Transaction Processing.



Первый положительный момент наступил, когда мы смогли запустить страницу службы ATP из браузера Safari. Возможно вы помните, что в прошлом Safari не поддерживалась в Oracle OCI, и вам приходилось использовать Firefox или Chrome на вашем Mac для работы с OCI. Теперь все работает отлично с Safari.

Итак, мы пошли дальше и создали новый экземпляр ATP. По сравнению с другими службами баз данных, он не запрашивает слишком много деталей. Вы просто вводите имя базы данных, количество ядер процессора, размер хранилища и пароль для пользователя «ADMIN». Вы предоставляете эти значения, нажмите кнопку «Создать автономную транзакцию» и подождите, пока экземпляр будет предоставлен.

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

Экземпляр был готов, и я начал проверять параметры, хранилище и то, что у нас там было в целом.

Когда мы проверили параметры экземпляра и исправления, мы обнаружили, что система была исправлена до последнего патча июльского пакета. Интересно отметить, что патч был отмечен как «ADW BUNDLE PATCH». Похоже, что Oracle использовал те же пакеты для ATP и для ADW.

SQL> SELECT patch_id,version,action_time,description,bundle_series FROM dba_registry_sqlpatch;   PATCH_ID VERSION ACTION_TIME DESCRIPTION BUNDLE_SERIES ---------------- -------------------- --------------------------- ---------------------------------------------------------------------------------------------------- ------------------------------ 27833146 12.2.0.1 18-04-15 22:53:33,631780000 ADW BUNDLE PATCH 180408.12.2.0.1. (27833146) 12.2.0.1.0ADW 27912909 12.2.0.1 18-05-13 09:26:55,583388000 ADW BUNDLE PATCH 180423.12.2.0.1 (27912909) 12.2.0.1.0ADW 28021834 12.2.0.1 18-05-20 06:30:40,791622000 ADW BUNDLE PATCH 180511.12.2.0.1 (28021834) 12.2.0.1.0ADW 28083996 12.2.0.1 18-06-10 13:24:07,039773000 ADW BUNDLE PATCH 180531.12.2.0.1 (28083996) 12.2.0.1.0ADW 28228725 12.2.0.1 18-07-01 16:20:00,784425000 ADW BUNDLE PATCH 180621.12.2.0.1 (28228725) 12.2.0.1.0ADW 28392695 12.2.0.1 18-07-29 09:01:06,437228000 ADW BUNDLE PATCH 12.2.0.1.0(ID:180722)

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

orcl_high> SHOW parameter _disable_cell_optimized_backups
NAME                            TYPE    VALUE 
------------------------------- ------- ----- 
_disable_cell_optimized_backups BOOLEAN TRUE  
orcl_high>


Мы знаем, что ATP построен на Exadata и позволяет нам использовать индексы хранения и другие функции Exadata. Мы кратко протестировали чтение оптимизатора и флэш-кеш, и функции работали очень хорошо.

orcl_high> CREATE TABLE t1 AS SELECT * FROM (SELECT rownum t1_id, object_id p1, object_name p2, owner p3 FROM all_objects),(SELECT rownum FROM dual CONNECT BY LEVEL <=20000); TABLE T1 created. orcl_high> UPDATE t1 SET t1_id = NULL WHERE t1_id BETWEEN 500 AND 510;
 
220,000 ROWS updated.
 
orcl_high> commit;
 
Commit complete.
 
orcl_parallel> EXEC dbms_stats.gather_table_stats('ADMIN','t1');
 
PL/SQL PROCEDURE successfully completed.
 
orcl_high> SELECT TABLE_NAME, num_rows, sample_size, last_analyzed FROM user_tables WHERE TABLE_NAME LIKE '%T1%'; 
 
TABLE_NAME                                                                                                                               NUM_ROWS      SAMPLE_SIZE LAST_ANA
-------------------------------------------------------------------------------------------------------------------------------- ---------------- ---------------- --------
T1                                                                                                                                      366240000        366240000 18-08-29
 
orcl_high> SELECT COUNT(*) FROM t1 WHERE t1_id IS NULL;
 
        COUNT(*)
----------------
          220000
 
orcl_high> SELECT n.name,s.value FROM v$mystat s, v$statname n WHERE n.statistic#=s.statistic# AND n.name LIKE '%cell flash cache read%';
 
NAME                                                                    VALUE
------------------------------------------------------------ ----------------
cell flash cache READ hits                                              17229
cell flash cache READ hits FOR controlfile reads                            0
cell flash cache READ hits FOR smart IO                                 17159
 
orcl_high> SELECT n.name,s.value FROM v$mystat s, v$statname n WHERE n.statistic#=s.statistic# AND n.name LIKE '%physical%optimized%';
 
NAME                                                                    VALUE
------------------------------------------------------------ ----------------
physical READ requests optimized                                        17229
physical READ total bytes optimized                               17963958272
...
orcl_high> SELECT n.name,s.value FROM v$mystat s, v$statname n WHERE n.statistic#=s.statistic# AND n.name LIKE '%smart scan%';
 
NAME                                                                    VALUE
------------------------------------------------------------ ----------------
cell physical IO interconnect bytes returned BY smart scan           18662816

И, конечно же, вы, вероятно, знакомы с панелью мониторинга и монитором SQL.

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

No Comments

Add a Comment