Обновить
12.47

Oracle *

Система управления базами данных

Сначала показывать
Порог рейтинга
Уровень сложности

Oracle Certified Associate и Oracle Certified Professional. Общее впечатление и нюансы подготовки

Время на прочтение7 мин
Охват и читатели39K
Привет, Хабр!

Меня зовут Маша, я работаю в КРОК. Сегодня я хочу рассказать вам о получении сертификатов Oracle Certified Associate и Oracle Certified Professional.



Вообще, в спорах о полезности профессиональной сертификации (да и ее необходимости в принципе) среди разработчиков довольно часто ломаются копья. Некоторые уверены, что для найма на приличную работу сертификат крайне желателен. Другие говорят, что “бумажки” не играют особой роли, даже диплом о высшем образовании может не потребоваться, оценивать будут исключительно навыки.

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

Как бы то ни было, есть люди, которым сертификаты нужны. Как для портфолио, так и для себя лично. Под катом я поделюсь впечатлениями от сертификации Oracle по Java: Oracle Certified Associate (1Z0-808) и Oracle Certified Professional (1Z0-809). В мировой практике наличие этих сертификатов является подтверждением определенного уровня квалификации java-разработчика, поэтому многие эту процедуру проходят.
Читать дальше →

Oracle vs PostgreSQL. Почему выбор Oracle может быть разумным решением

Время на прочтение3 мин
Охват и читатели50K
Читая многочисленные статьи на хабре об успешной миграции с Oracle на PostgreSQL у неискушенного читателя может создаться впечатление что PostgreSQL ничем не хуже, а даже лучше Oracle. И выбор очевиден. А Сотни тысяч компаний, которые в итоге платят миллиарды долларов компании Oracle, просто тратят деньги на ветер. Но постараюсь вас разуверить, где-где, а в больших компаниях умеют считать деньги. И их решения отнюдь не ошибочны.

Цель статьи зародить зерно сомнения в душе читателя, который пытается сделать выбор между реляционными БД которые работают в режиме версионника.
Читать дальше →

Укрощай и консолидируй: история переезда на Oracle Supercluster

Время на прочтение4 мин
Охват и читатели6K
СУБД растут и размножаются, скрипты автоматизации становятся все сложнее и многочисленнее, и времени на все это уходит все больше и больше. В таких условиях рано или поздно администратор приходит к светлой мысли: нужно что-то менять. В этом посте мы на своем примере расскажем, как решить вопрос, если вы имеете дело с базами Oracle разных мастей и расцветок.


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

Прореживание таймфреймов (криптовалюты, форекс, биржи)

Время на прочтение24 мин
Охват и читатели3K
Некоторое время назад передо мной была поставлена задача написать процедуру, которая выполняет прореживание котировок рынка Форекс (точнее, данных таймфреймов).

Формулировка задачи: данные поступают на вход с интервалом в 1 секунду в таком формате:

  • Название инструмента (код пары USDEUR и пр.),
  • Дата и время в формате unix time,
  • Open value (цена первой сделки в интервале),
  • High value (максимальная цена),
  • Low value (минимальная цена),
  • Close value (цена последней сделки),
  • Volume (громкость, или объём сделки).

Необходимо обеспечить пересчёт и синхронизацию данных в таблицах: 5 сек, 15 сек, 1 мин, 5 мин, 15 мин, и т.д.

Описанный формат хранения данных имеет название OHLC, или OHLCV (Open, High, Low, Close, Volume). Он применяется часто, по нему сразу можно построить график «Японские свечи».

image

Под катом я описал все варианты, какие смог придумать, как можно прореживать (укрупнять) полученные данные, для анализа, например, зимнего скачка цены биткоина, а по полученным данным вы сразу построите график «Японские свечи» (в MS Excel такой график тоже есть). На картинке выше этот график построен для таймфрейма «1 месяц», для инструмента «bitstampUSD». Белое тело свечи означает рост цены в интервале, чёрное — снижение цены, верхний и нижние фитили означают максимальную и минимальную цены, которые достигались в интервале. Фон — объём сделок. Хорошо видно, что в декабре 2017 цена вплотную приблизилась к отметке 20К.

Решение будет приведено для двух движков БД, для Oracle и MS SQL, что, в некотором роде, даст возможность сравнить их на этой конкретной задаче (обобщать сравнение на другие задачи мы не будем).
Читать дальше →

Разбиение строки по разделителю. Немного про CONNECT BY

Время на прочтение5 мин
Охват и читатели75K
Здравствуйте!

Я работаю PL/SQL разработчиком. Есть задача собирать некоторые данные для метрик, чтобы отслеживать загрузку систем. Есть некоторая функция, которая вызывается с параметром, состоящим из списка ID.

1,2,3,4…1001,1002,1003…

Задача заключается в следующем. Нужно разбить такую строку на элементы и записать их в целочисленную коллекцию.
Читать дальше →

Лицензионная политика Oracle выталкивает аналитику на Hadoop

Время на прочтение2 мин
Охват и читатели7.6K
Крупный бизнес и кровавый энтерпрайз уже давно нашли замену взрослым рсубд на задачах DWH и аналитики. DWH массово движется в сторону DataLake и Hadoop. Выглядит, что и небольшим компаниям уже нет особого смысла запускать аналитику на серьезной рсубд. С ростом кол-ва ядер доступных даже небольшому бизнесу пытаться лицензировать полноценную редакцию взрослой субд типа Oracle смысла мало. Standard редакция Oracle хоть и лицензируется по сокетам, но при этом вырезан важнейший функционал. Во первых в standard редакции нет partitioning
Читать дальше →

Прозрачная авторизация для приложения на Oracle Weblogic Server

Время на прочтение6 мин
Охват и читатели17K
В данной статье расскажу, как мы перешли с NTLM на Kerberos авторизацию для приложений на Oracle Weblogic Server, тем самым упростив пользователям вход, убрав необходимость вводить пароль. Все пользователи, а также сервер приложения находятся в одном домене, так же ранее была настроена доменная авторизация для приложений Weblogic сервера. Все конфигурации были проверены на WLS 12.1.2.
Читать дальше →

100500 способов кэширования в Oracle Database

Время на прочтение21 мин
Охват и читатели29K
Рассказывать, какие есть кэши, что такое Result Cache, как он сделан в Oracle и в других базах данных не очень интересно и довольно шаблонно. Но все приобретает совершенно другие краски, когда речь идет о конкретных примерах. Александр Токарев (shtock) построил свой доклад на Highload++ 2017 исходя из кейсов. И именно опираясь на кейсы, рассказал, когда может быть удобен самодельный кэш, в чем боль server-side Result Cache и как заменить его клиентским, и вообще вывел ряд полезных советов по настройке Result Cache в Oracle.


О спикере: Александр Токарев работает в компании DataArt и занимается вопросами, связанными с базами данных как в части построения систем «с нуля», так и оптимизации имеющихся.

Начнем с нескольких риторических вопросов. Вы работали с Oracle Result Cache? Вы верите, что Oracle — это база данных, удобная на все случаи? По опыту Александра большинство людей на последний вопрос отвечает отрицательно, на сто суровых прагматиков приходится один мечтатель. Но благодаря его вере двигается прогресс.

Кстати, у Oracle уже 14 баз данных — пока 14 — что будет в будущем, неизвестно.

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

Backend stories MeetUp

Время на прочтение1 мин
Охват и читатели3.2K
Привет, Хабр!

Мы решили собрать очередную встречу разработчиков, на этот раз поговорим о backend.

Когда: 21 июня, четверг, с 19:00.
Где: Москва, ул. Большая Полянка, д.2/10, стр. 1 (Corporate Innovations Hub).



Регистрация на событие открыта, подробности – под катом.
Читать дальше →

Можно ли использовать Tibero вместо Oracle. И нужно ли

Время на прочтение9 мин
Охват и читатели9.9K
В этой статье я расскажу вам о том, как всерьез задумался об альтернативе Oracle. А как же Postgre, скажете вы? Да, но есть нюансы. Сперва разберемся с вопросом «Почему Oracle?».
Бизнес логика у нас в БД. В книге Oracle для профессионалов Том Кайт пишет
При разработке приложений баз данных я использую очень простую мантру:

если можно, сделай это с помощью одного оператора SQL;
если это нельзя сделать с помощью одного оператора SQL, сделай это в PL/SQL;
если это нельзя сделать в PL/SQL, попытайся использовать хранимую процедуру на языке Java;
если это нельзя сделать в Java, сделай это в виде внешней процедуры на языке C;
если это нельзя реализовать в виде внешней процедуры на языке C, надо серьезно подумать, зачем это вообще делать...
и в проектировании систем я следую этому правилу. Особенно радуют объектные типы в Oracle, с их помощью сложная бизнес логика красиво и удобно реализуется по всем канонам ООП.

Oracle стоит дорого. Купить его и не использовать все, что в нем есть, будет ошибкой.
И еще, всегда есть фактор команды и компетенций. Если у вас команда десять лет разрабатывает все в Oracle, переучиваться на Postgre может быть болезненно.

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

Уже несколько раз мне попадались публикации про корейский продукт Tibero, якобы создаваемый для замены Oracle. А нынче у них аттракцион невиданной щедрости — лицензии на Standard раздают для разработчиков практически бесплатно, за доллар на сокет. Итак, разбираемся: что на данный момент могут предложить корейцы. С автомобилями ведь у них, уже (почти) получилось!
Читать дальше →

Нефтегазовая дилемма: в поиске альтернативных СУБД

Время на прочтение6 мин
Охват и читатели17K

Как известно, в начале этого года американская корпорация Oracle в соответствии с требованиями правительства США об ужесточении санкций в отношении российских нефтегазовых компаний изменила условия предоставления им своих продуктов и услуг. Введен запрет как на новые сделки, так и на продление существующих контрактов. Эти ограничения непосредственно касаются многих нефтегазовых структур, включая предприятия «Газпрома», «Роснефти», «Лукойла» и «Сургутнефтегаза». Под санкции попали 283 российских компании.
Читать дальше →

DevConf: перспективные базы данных для highload

Время на прочтение6 мин
Охват и читатели11K
DevConf 2018 уже на следующей неделе! В прошлом году Юрий Насретдинов провел интересный обзор перспективных систем хранения данных для highload. Видео с докладом доступно на странице доклада. А для хабра-читателей предлагаю краткий пересказ.

В начале расскажу как нужно подходить к выбору технологии для highload-проекта.

  • В первую очередь, должно быть понимание как оно работает. Не только сильные, но и слабые стороны.
  • Знание как это мониторить и бэкапить. Без хороших инструментов для этого, эту технологию рано использовать в продакшене.
  • Рано или поздно системы «падают»(это нормальная, штатная ситуация) и нужно знать что делать в этом случае.
Читать дальше →

Что нового в DataGrip 2018.1

Время на прочтение4 мин
Охват и читатели12K
Привет! В этом релизном цикле некоторые улучшения появились ещё в минорных обновлениях. Но, так как о них на Хабре мы не пишем, я расскажу в этом посте обо всём новом с момента предыдущего релиза.

image

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

Ближайшие события

Вопросы совместимости Tibero и Oracle. Часть 2. Разработка Java приложений

Время на прочтение6 мин
Охват и читатели3.1K

Мы продолжаем цикл статей разработчиков приложений для баз данных — Часть 1. Условная компиляция PL/SQL. Эта статья затронет тему использования Tibero в Java приложениях использующих JDBC и Hibernate, а также фреймворк Spring Roo.

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

Почему ставить наиболее селективные колонки в префикс составного индекса – это не всегда хорошо

Время на прочтение5 мин
Охват и читатели7.1K

tl;dr В этой статье мы рассмотрим случай, когда лучше переместить самый селективный атрибут из префикса составного индекса в суффикс.


А также рассмотрим, что такое pipeline и как с его помощью select-ить данные уже отсортированными.


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

Пользовательские агрегатные и оконные функции в PostgreSQL и Oracle

Время на прочтение17 мин
Охват и читатели53K

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

Надо признать, что собственные агрегатные и оконные функции встречается довольно редко. Оконные функции вообще по каким-то причинам традиционно относят к разряду «продвинутого» SQL и считают сложными для понимания и освоения. Тут бы разобраться с теми функциями, которые уже имеются в СУБД!

Зачем тогда вообще вникать в этот вопрос? Могу назвать несколько причин:

  • Хотя оконные функции объективно сложнее обычных агрегатных, но ничего запредельного в них нет; это абсолютно необходимый инструмент для SQL-разработчика. А создание собственной оконной функции, даже совсем простой, позволяет лучше разобраться с тем, как работают стандартные.
  • Оконные и агрегатные функции — прекрасный способ совместить процедурную обработку с декларативной логикой. В некоторых ситуациях получается выполнить сложные действия, оставаясь в рамках парадигмы решения задачи одним SQL-запросом.
  • Да и просто интересная тема, а уж тем более интересно сравнить две системы.

Пример, на котором будем тренироваться — подсчет среднего, аналог стандартной функции avg для типа numeric (number в Oracle). Мы напишем такую функцию и посмотрим, как она работает в агрегатном и оконном режимах и может ли она вычисляться несколькими параллельными процессами. А в заключение поглядим на пример из реальной жизни.
Читать дальше →

Как мы делали олимпиаду по SQL (окончание)

Время на прочтение18 мин
Охват и читатели4.7K

Продолжаю рассказ о том, как мы делали олимпиаду по SQL. Это продолжение предыдущей статьи, в которую всё просто не уместилось.


Краткое содержание предыдущей серии: прошло два заочных тура олимпиады в декабре 2016 и марте 2017 соответственно, где претенденты на победу прошли жёсткий отбор как с теорией, так и с практикой применения SQL в базах данных Oracle. Далее про третий тур — очный финал олимпиады в Сочи в начале июня 2017 г.

Читать продолжение

Вопросы совместимости Tibero и Oracle. Часть 1. Условная компиляция PL/SQL

Время на прочтение4 мин
Охват и читатели3.3K

Условная компиляция PL/SQL позволяет избирательно компилировать участки исходного кода в зависимости от условия, как правило связанного со значением пакетной константы. Часто это используется для обеспечения совместимости приложений с разными версиями СУБД.
В декабре 2017 года такая возможность появилась и в Tibero, что позволило обеспечить ещё большую совместимость приложений между Tibero и Oracle.

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

Как мы делали олимпиаду по SQL

Время на прочтение15 мин
Охват и читатели16K

В самом начале осени 2016 года руководство поставило мне задачу подготовить техническую часть олимпиады по SQL. Обсудив ситуацию с коллегами, в том числе с бывшими, я был ткнут (ткнён?) в статью, где в декларативном стиле на SQL решалась задача по построению кратчайшего выхода из лабиринта. Собрав в одну кучку части запроса и запустив его на настоящей базе, я прошептал "магия!.." и понял, что олимпиаде быть.


Думаю, что типичный читатель Хабра на олимпиадах хоть раз да бывал, но скорее в роли участника, а не организатора. Я тоже бывал на разных, и мне всегда было удивительно, почему на одних олимпиадах интересно, а на других тоска смертная. Могу показать, как выглядит этот театр с другой стороны занавеса, и как я старался, чтобы эта олимпиада оказалась из тех, которые интересные. Интриги, скандалы, расследования — ничего этого не будет. Зато расскажу как готовились задания, что от них ожидали и что получалось в результате.

В кроличью норку сюда

Apache Ignite — кеш для баз данных

Время на прочтение9 мин
Охват и читатели17K
В Apache Ignite можно определить именованный кеш данных для постоянного хранилища, загрузить в него данные и далее выполнять различные манипуляции с ними.

Можно выполнять операции get/put как c Map, например в java, эти операции имеют название сквозного чтения, записи в постоянное хранилище (write-through and read-through). Т.е. после того как кеш загружен при выполнении операции get объект будет взят их него, а не из базы, а при записи он изменится в кеше и будет записан в хранилище данных. Если при попытке взятия объекта его не будет в кеше он будет вначале в него записан. Понятно что операции чтения уже будут из памяти кеша и очень быстро. Все это актуально для операций get/put. Для других операций поиска, например для поиска объекта не по ключу есть — Query, как быстрее находить данные в кеше?, работа с транзакциями, все это ниже в статье…
Читать дальше →

Вклад авторов