Как стать автором
Поиск
Написать публикацию
Обновить
6.75

Oracle *

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

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

Недостатки RDBMS или RDBMS vs NoSQL

Время на прочтение2 мин
Количество просмотров24K
Изложу мое видение по каким причинам были созданы новые технологии хранения и обработки данные известные как NoSQL и MPP.
Статья будет полезна особенно начинающим пионерам в разработки БД.
В статье не рассматриваются специализированные базы данных для векторных, графический и прочих нестандартных форматов.

Первое, SQL и RDBMS
1.1. Необходимо знать язык SQL и основные принципы RDBMS как транзакции, foreign key, таблицы.
Допустим вы разработчик Java, и от вас еще требуют знать какой-то SQL и особенности RDBMS. Естественно вы ленитесь, пытаетесь как-то отвильнуть.
Да и к тому-же принцип ООП очень не похож на модель данных в RDBMS.
1.2. Если у вас большой проект, то вам нужен профессиональный БД разработчик, а это лишний балласт если не будет проектов в будущем.
Java программистам так и хочется сделать всю бизнес логику на Java в обход SQL и RDBMS.

Второе, Цена
Читать дальше →

Oracle vs Teradata vs Hadoop

Время на прочтение4 мин
Количество просмотров24K
Эта статья нацелена на Большие и Очень большие Хранилища Данных, но для ровной картины в классификации немного упомянуты и маленькие.

Статья написана для специалистов, которые ценят главный критерий работы с базами данными — скорость. Речь пойдет о системах, нацеленных на грубый full scan (ораклисты уже напряглись, а терадатовцы радуются).

Давайте рассмотрим, под какой объем данных и работ лучше всего подходит Oracle или Hadoop/NoSQL.
Читать дальше →

Интеграция Raspberry Pi с NetBeans 8.0

Время на прочтение3 мин
Количество просмотров9.6K
В марте этого года вышла новая версия NetBeans 8.0. Одной из её особенностей стала возможность работы через интерфейс NetBeans с встроенными версиями Java SE и ME. Разработчиками IDE от Oracle в качестве тестовой платформы предлагается использовать Raspberry Pi с устанавливаемой удалённо Java SE Embedded. Прежде я уже публиковал два перевода из журнала MagPi о Java программировании на Raspberry Pi, но в основном они были восприняты негативно, так как читатели не увидели в них чего-то особенного, характерного именно для такой связки, как Java и Raspberry Pi. Надеюсь, что после знакомства с этим уже оригинальным руководством, мне удастся немного смягчить позицию читателей в вопросе особенности подхода к Java программированию на встроенных системах типа Raspberry Pi.

Подготавливаем Raspberry Pi


Настроек Raspberry Pi немного. Ваш Raspberry Pi должен быть доступен в сети через SSH, а для вас на нём для чтения и записи должна быть доступна рабочая директория.

Подготавливаем NetBeans


Перед тем, как устанавливать новую платформу Java в NetBeans, я рекомендую прослушать небольшой доклад Льва Приймы по теме Java SE Embedded 8.


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

Как отобразить 350 миллионов строк из базы данных на Web-форме

Время на прочтение5 мин
Количество просмотров32K
Заголовок этой статьи — это краткое резюме того, что просил заказчик. Я в это время был в отпуске, а мой руководитель, не вдаваясь в детали, дал добро на реализацию. Хорошо отдохнув и выйдя на работу, я почувствовал себя в шкуре ёжика, который попал в туман в одном известном мультфильме. А ситуация требовала Волшебника изумрудного города.
Читать дальше →

Приемы работы с планами выполнения запросов в Oracle

Время на прочтение3 мин
Количество просмотров43K
Это как гвоздь в подошве любимого ботинка. Ходить можно, но все чаще ловишь себя на желании остаться на месте или перепоручить дело другим. Мелкие неудобства не только замедляют нашу работу, но и снижают мотивацию, вносят помехи в процесс, снижают качество результата. И если нашелся друг, который научил вас взять молоток и забить этот гвоздь, вы не только будете благодарны ему за помощь, но и сами поможете другим, избавив их от мелкой, но очень раздражающей помехи. Для этого и нужно общаться, делиться не только глубокими и сокровенными знаниями в форумах и на сайтах вроде Хабра, но и своими простыми трюками и «маленькими хитростями»

Как и любой текст, запросы и программы на SQL можно создавать в любом текстовом редакторе. Но если вы профессионал, вы очень много и часто работаете с SQL, то вам уже не будет достаточно наличия подсветки синтаксиса и автоматического переформатирования кода, особенно, если вам приходится переключаться между различными версиями одной СУБД или разными платформами СУБД.

Недавно мне случилось общаться с одним из ведущих профессионалов СУБД Oracle. Он рассказал много интересного про работу с планами выполнения запросов в различных версиях этой СУБД и не постеснялся рассказать всем об используемых им инструментах, приемах и дать немного полезных мелких советов. Я сделал перевод одной из статей в его блоге и хотел бы предложить его вниманию Хабравчан. Несмотря на то, что описанный прием применялся для работы с Oracle, я теперь с успехом применяю тот же подход для MS SQL и Sybase.



Меня зовут Дан Хотка (Dan Hotka). Я директор Oracle ACE. Одной из моих привилегий в этой группе является помощь в распространении информации и полезных технических знаний, связанных с СУБД Oracle. Меня хорошо знают после моих 12 (скоро 14) опубликованных книг и буквально сотен статей. Я регулярно пишу в блоге и собираюсь делать это в дальнейшем. Мы даже могли встречаться на одном из событий или встреч группы пользователей. Я регулярно выступаю на эти темы по всему миру.
Я собираюсь поделиться с вами как техническими знаниями про Oracle, так и тем, как эти знания применяются в решениях Embarcadero.
Читать дальше →

How-to: Разворачиваем Oracle Real Application Cluster 11g на VirtualBox

Время на прочтение21 мин
Количество просмотров39K


1. Предыстория


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

Но стойка, на которой кроме сервера БД, базируется еще куча каких-то непонятных серверов, имеет удивительное свойство иногда падать. Да и с самой БД в один прекрасный момент может произойти все, что угодно. Конечно, первым делом на ум приходит грамотная организация резервного копирования БД или создание спапшотов VMware. Однако, все эти действия, в случае отказа оборудования, не позволяют обеспечить непрерывную работу БД и всего конвейера соответственно. В общем, захотелось опробовать другие решения.

Когда в IT-отделе в очередной раз проводилось собрание по данной проблеме, было решено опробовать идею поднять Oracle Real Application Cluster и развернуть на нем производственную БД. Проблема заключалась лишь в том, что никто на тот момент не знал, как это делается.

Пред тем, как закупать железо и разворачивать новые сервера, было решено опробовать выбранную технологию локально, используя VM VirtualBox. После нескольких недель, плавно перешедших в месяцы, поиска и переваривания необходимой как воздух информации, кластер наконец-то был запущен, и можно было приступать к первым тестам. И так, всем, кто хочет поднять n-нодовый (n>=2) кластер, добро пожаловать под кат.
Читать дальше →

Задача о восьми Ферзях на Oracle SQL (другое решение)

Время на прочтение3 мин
Количество просмотров8K
В ответ на это решение, хотелось бы указать своё, несколько более простое к восприятию.
Читать дальше →

Компания Oracle представила Solaris 11.2 Beta

Время на прочтение3 мин
Количество просмотров17K
Всем привет!

Не нашел этой новости на хабре, хотя событие произошло еще в апреле.

После полутора лет разработки компания Oracle представила выпуск операционной системы Solaris 11.2. Для загрузки в настоящее время подготовлена бета-версия Solaris 11.2, установочные образы с которой доступны для архитектур x86 и SPARC. Для архитектуры x86 дополнительно поставляется демонстрационная Live-система. Из ключевых улучшений нового выпуска отмечается интеграция средств для обеспечения работы облачных инфраструктур, основанных на платформе OpenStack, поддержка нового вида изолированных контейнеров kernel zones и новые возможности по развёртыванию SDN-сетей.
Читать дальше →

PL/SQL решение для работы с Веб-Службами

Время на прочтение11 мин
Количество просмотров27K
Столкнулся с требованием отправлять и получать SOAP сообщения из базы данных Oracle.
Также это решение должно быть универсальным и легко интегрируемым с другими модулями.
В интернете ни чего подобного не нашел. Есть статьи рассказывающие о том как посылать SOAP сообщения исползуя UTL_HTTP пакет, но ни чего более.

Решил написать универсальный продукт на PL/SQL для отправки SOAP сообщений из базы данных Oracle который легко настраивается и интегрируется.
Читать далее

«Dense_rank()» vs «Max()» или расследование с неожиданным концом

Время на прочтение8 мин
Количество просмотров15K
Здравствуйте, коллеги.
В этой статье я расскажу о своих изысканиях в вопросе: «А что же лучше: dense_rank() или max()» и, конечно, почему эти изыскания завершились с неожиданным, по крайней мере для меня, результатом.
Читать дальше →

Преимущество новой конфигурации DELL PE R920 c SSDs на NVME EXPRESS FLASH PCIE

Время на прочтение23 мин
Количество просмотров6.2K


Производительность – важнейшее качество для компаний, работающих с программами на базе данных Oracle, что требует от подсистем хранения низкого времени задержки и максимального количества операций ввода-вывода в секунду. Таким образом, важно выбрать сервер не только с новейшей технологией процессора и большим объемом оперативной памяти, но и с возможностью обновлений для обеспечения высокого уровня обслуживания. Новый сервер Dell PowerEdge R920 с процессором Intel® Xeon семейства E7 v2 обеспечивает производительность, необходимую для критически важных приложений. При помощи твердотельных накопителей NVMe Express Flash PCIe можно поднять производительность сервера на новый уровень.

В нашей тестовой лаборатории мы протестировали два сервера Dell PowerEdge R920 с базой данных Oracle Database 12c с OLTP TPC-C рабочими нагрузками, первый в конфигурации со стандартными серийными SCSI (SAS) жесткими дисками, второй с твердотельными накопителями NVMe Express Flash PCIe. Обновленная конфигурация с твердотельными накопителями PCIe увеличила производительность базы данных в 14,9 раз по сравнению с жесткими дисками. В то время как базовая конфигурация обеспечивает хорошую производительность сервера, твердотельные накопители NVMe Express Flash PCIe позволяют существенно ее повысить, став выгодной инвестицией для бизнеса, стремящегося удовлетворить требованиям пользователей базы данных Oracle.
Посмотрим как мы это сделали

Работа с DB Oracle из Xcode

Время на прочтение7 мин
Количество просмотров6K
Я хотел научиться работать с oracle из xcode, так как не обнаружил готового фреймворка от apple для работы с базой данных oracle напрямую.
Для начала, я попробовал создать тестовый проект и подключить к нему instantclient от oracle. Также я использовал тестовый пример от Oracle ( cdemo81.c ), включил его код в проект на xcode и протестировал работу. Да, все работает, хотя пришлось немножко побить в шаманский бубен от google. Тем не менее, использовать напрямую oci библиотеку тяжело, так как нужно реализовать интерфейс, а это похоже на изобретение велосипеда.
Тогда я решил попробовать использовать кросс-платформенную библиотеку ocilib ( http://orclib.sourceforge.net )
Далее в тексте пошаговая инструкция о том, как сделать тестовый проект на cocoa и использовать эту библиотеку. Цель тестового проекта — подключив библиотеку получить данные с сервера oracle.
Читать дальше →

Oracle Database Appliance – обзор после опыта использования

Время на прочтение5 мин
Количество просмотров13K


Сначала пару слов про ODA. Это инженерная система, представляющая собой готовый стек – СХД, серверов и софта, которые подобраны друг под друга для обеспечения максимальной производительности. Аналогов у других производителей нет, т.к. весь стек тестировался производителем оборудования и ПО для выявления «узких» мест в производительности. В результате в ОДЕ нет веера разных конфигураций и все что можно сделать — это добавить дополнительную полку с дисками. В системе стандартный объем памяти, стандартный объем дисков, стандартные процессоры – никаких особых дополнений или вариантов конфигураций нет.

В нашем обзоре использована ОДА первого поколения, которая в габаритах 4 юнита, включает в себя 2 сервера, каждый с:
Читать дальше →

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

Денормализация деревьев

Время на прочтение3 мин
Количество просмотров12K
Очень часто за основу архитектуры приложения берётся дерево. Простой пример: есть страны, в странах — области, в областях — города, в городах — организации, в организациях — работники, товары или что-либо ещё. Использование дерева вполне логично и оправдано. Иерархичность такой системы показывает некая абстрактная таблица. Назовём её object:

CREATE TABLE object (
  id NUMBER(11),
  parent_id NUMBER(11),
  type VARCHAR2(16) NOT NULL,
  name VARCHAR2(255) NOT NULL,
  CONSTRAINT pk_object PRIMARY KEY (id),
  CONSTRAINT fk_object_parent FOREIGN KEY (parent_id) REFERENCES object (id) ON DELETE CASCADE ENABLE
);

Наполним её какими-нибудь данными:

id  |  parent_id  |  type     |  name
------------------------------------------------------
1   |  NULL       |  country  |  Россия
2   |  1          |  region   |  Московская область
3   |  1          |  region   |  Новосибирская область
4   |  2          |  city     |  Москва
5   |  3          |  city     |  Новосибирск

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

-- Выбрать все города России
SELECT *
  FROM object
    WHERE type = 'city'
    START WITH id = 1 CONNECT BY PRIOR id = parent_id;

-- Выбрать страну, в которой находится Новосибирск
SELECT *
  FROM object
    WHERE type = 'country'
    START WITH id = 5 CONNECT BY PRIOR parent_id = id;

Однако проблемы появляются, когда записей в таблице становится на столько много, что любой рекурсивный запрос выполняется минуты две, а то и больше. Менять всю архитектуру как-то поздновато… Тут-то нам на помощь и приходит денормализация дерева. В этой статье я расскажу об одном из способов такой денормализации.
Читать дальше →

Хранимые функции. За и против

Время на прочтение6 мин
Количество просмотров92K
Использование хранимых функций СУБД для реализации бизнес-логики или её части, всегда было камнем преткновения. С одной стороны баррикад DBA и программисты БД, с другой — разработчики backend.
Рискну навлечь на себя гнев из обоих лагерей, но всё же просуммирую плюсы и минусы и изложу свои соображения о том, когда стоит писать код в хранимых функциях, а когда следует выносить наружу.


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

Intellij IDEA: Oracle Cloud Integration

Время на прочтение3 мин
Количество просмотров9.1K
Не секрет, что Oracle претендует на звание крупнейшего в мире корпоративного облака. Oracle Public Cloud, пригоден, по утверждениям компании, для переноса в себя всех приложений и бизнес-процессов предприятия.

Недавно пришлось попробовать Oracle Java Cloud Service в работе. Впечатления, в общем — положительные, но был немного расстроен, т.к не имел возможности работать с этим сервисом в своей любимой среде разработки — Intellij IDEA.
И вот два дня назад появился плагин Oracle Cloud integration. О том, какие возможности он нам предоставляет, я и хотел рассказать в этой статье.
Читать дальше →

Oracle Business Intelligence — обзор

Время на прочтение8 мин
Количество просмотров95K
Привет, хабр. По работе мне приходится иметь дело с OBIEE (Oracle Business Intelligence Enterprise Edition) в качестве разработчика и администратора, поэтому я решил поделиться тем объемом знаний, который успел накопить. Надеюсь, кому-нибудь это поможет в освоении системы. Сначала я планирую рассказать про систему в целом, затем — про архитектуру и взаимодействие компонентов, а в конце — рассказать про те особенности, с которыми пришлось столкнуться за время работы.

Обзор системы


Oracle Business Intelligence Enterprise Edition (OBIEE, OBI) — программная платформа для решения задач бизнес-аналитики: интерактивных и публикуемых отчетов, мониторинга KPI и бизнес-процессов. Является потомком Siebel Analytics. Основные функциональные части, доступные пользователям:

  • Answers (также называются Interactive Dashboards) — построение интерактивных отчетов, доступных для пользователей через веб-интерфейс OBIEE. Единицей отчетности является analysis — простой отчет, как правило, включающий в себя одно отображение (таблицу, график, диаграмму и т.п.). Analysis объединяются в информационные панели (Dashboards), с которыми работают конечные пользователи. Информационные панели также могут включать в себя приглашения (prompts) — элементы настройки, с помощью которых пользователь может взаимодействовать с панелью.
  • Publisher (также иногда в него включают Delivers) — средство создания и рассылки статических отчетов. Т.к. publisher развился из отдельного продукта, то в нем есть возможность строить отчеты на собственной модели данных, независимой от модели данных OBI, однако можно использовать и общую модель. Также есть возможность рассылки существующих отчетов из answers.
  • Action Framework — набор средств для выполнения каких-либо автоматизированных действий из OBIEE — например, рассылка отчетов по достижению показателем определенного значения, вызова внешних веб-служб, вызова java кода и т.п. Действия могут быть объединены в цепочки. Возможно настройка различных каналов оповещения пользователей — e-e-mail, sms, пейджер и т.п.
  • Scorecard and Strategy Management — средства для отслеживания ключевых параметров производительности (KPI) и работы с системами показателей (Scorecard — http://en.wikipedia.org/wiki/Balanced_scorecard). Используются для наглядного отображения статуса выполнения целей (компании, проекта). Доступ пользователей, как и в случае с answers, осуществляется через веб-интерфейс.
  • Marketing — средства интеграции с Siebel Marketing.
  • Office Tools — средства интеграции с Microsoft Office.

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

Хитрые задачи по Java

Время на прочтение7 мин
Количество просмотров117K
Совсем недавно я сдал OCA Java SE 7 Programmer I. За время подготовки успел решить огромное количество задач и извлечь из них много тонких моментов языка. Самые интересные и ловкие — сохранял на будущее. И вот у меня накопилась небольшая личная коллекция, лучшую часть которой я здесь и опишу.

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

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

Именование объектов в Oracle. Взгляд «со стороны»

Время на прочтение15 мин
Количество просмотров44K

«Старая песня о главном»


«Стандарты именование объектов БД» и «правила оформления кода» темы не новые. Так или иначе, к вопросу выработки или заимствования таких стандартов и правил приходят все команды разработчиков. При желании в сети можно найти статьи и презентации по данной теме, а так же примеры и шаблоны различных соглашений. Многие из них безусловно полезны, некоторые — практически идеальны, если бы не одна маленькая оговорка: они написаны разработчиками и для разработчиков.

К сожалению, в моей субъективной реальности разработчики являют собой лишь некую абстракцию. Эдакие фантомы по ту сторону телефонной трубки, от которых меня отделяют тысячи километров и 3 часовых пояса. Прямого доступа в их коллективный мозг у меня нет. Доступны только образы, порожденные данным мозгом,- в виде объектов эксплуатируемой системы.

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

А у вас тоже 50% маркетинговых акций играют в минус по продажам?

Время на прочтение5 мин
Количество просмотров28K
Представьте себе, что вы производите сок. Этот самый сок вы развозите по крупным розничным сетям и ставите на полку рядом с ещё десятком похожих. Вы хотите продавать его больше, и решаете для этого сделать акцию. Например:
  1. Снизить цену на 25%. Понятно, что прибыль с единицы сока упадёт, но получится ли продать его настолько больше, что в целом прибыль вырастет?
  2. Или, может, сделать «купи три – четвёртый бесплатно»? Технически, почти то же самое, но в деньгах может оказаться совсем иначе.
  3. Или, может, лучше заплатить те же деньги сети, чтобы они поставили его прямо по центру полки?
  4. Хотя нет, давайте наймём промо-девочек в миниюбках, да?

Как принять решение?

Теперь ещё пример. У вас в магазине есть тонна йогуртов, у которых срок хранения истекает через месяц. Когда и какие акции надо делать? Когда снижать цену, когда включать бонус продавцам, когда просто сливать их по себестоимости?

Существуют экспертные системы принятия таких решений. Про них я и расскажу.
Читать дальше →

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