Как стать автором
Обновить

Распределённые СУБД для энтерпрайза

Время на прочтение8 мин
Количество просмотров6.4K
CAP-теорема является краеугольным камнем теории распределённых систем. Конечно, споры вокруг неё не утихают: и определения в ней не канонические, и строгого доказательства нет… Тем не менее, твёрдо стоя на позициях бытового здравого смысла™, мы интуитивно понимаем, что теорема верна.



Единственное, что не очевидно, так это значение буквы «P». Когда кластер разделился, он решает – то ли не отвечать, пока не будет набран кворум, то ли отдавать те данные, которые есть. В зависимости от результатов этого выбора система классифицируется либо как CP, либо как AP. Cassandra, например, может вести себя и так и так, в зависимости даже не от настроек кластера, а от параметров каждого конкретного запроса. Но если система не «P», и она разделилась, тогда – что?

Ответ на этот вопрос несколько неожиданный: CA-кластер не может разделиться.
Что же это за кластер, который не может разделиться?
А вот
Всего голосов 4: ↑3 и ↓1+2
Комментарии8

Oracle Real Application Clusters в среде Bare Metal Kubernetes Cluster

Уровень сложностиСложный
Время на прочтение47 мин
Количество просмотров1.6K

Приветствую всех!

Данная статья рассматривает необходимые и достаточные действия для запуска и настройки RAC 21.3 в кластере kubernetes 1.26. Прецедентов на апрель 2023 г. работы вне Oracle Cloud не найдено, поэтому пришлось провести тысячи экспериментов, отбросить и принять множество гипотез.

На сегодня первая в мире выкатка RAC в kubernetes и без docker.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии0

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

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


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


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

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

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

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

Начался третий ежегодный чемпионат Russian AI Cup

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


Доброго дня и приятного понедельника всем! Сегодня начало не только рабочей недели, но и чемпионата по программированию искусственного интеллекта Russian AI Cup, организатором которого является Mail.Ru Group. Он проходит ежегодно, начиная с 2012 года. В этот раз перед участниками поставлена задача по написанию алгоритма для команды хоккеистов. Принять участие могут все желающие, любых возрастов и квалификаций. Главное — иметь базовые навыки программирования. Список возможных языков программирования ограничен, вы можете выбрать один из следующих вариантов: C++, Java, C#, Python, Ruby или Pascal. Кстати, в прошлом году предпочтения участников распределились таким образом: 36% выбрали C++, 25% — Java, 21% — C#.
Читать дальше →
Всего голосов 45: ↑38 и ↓7+31
Комментарии30

Переход на ReactiveCocoa v.4

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

Если вы когда – либо интересовались фреймворком ReactiveCocoa, то заметили, что есть небольшое количество постов на тему реактивного программирования и фреймворка ReactiveCocoa, такие как Знакомство с ReactiveCocoa, или Лучший мир с ReactiveCocoa. До сегодняшнего дня, все эти посты были на тему ReactiveCocoa 2 версий, которая была написана на и для Objective-C. Сейчас все больше набирает популярность язык Swift, разработчики ReactiveCocoa усиленно работают над новой версией, которая будет написана на языке Swift и будет иметь некоторые функциональные особенности, которые являются фундаментальными для данного языка.

Я подозреваю, что многие из вас, как и я, с огромным желанием оставили Objective-C и перешли на Swift. Если вы хотели бы использовать ReactiveCocoa с новым языком, я вам настоятельно рекомендую попробовать использовать новую версию ReactiveCocoa. И я уверен, что наше сообщество получит огромную пользу от вклада, сделанного вами. С другой стороны, если вы работаете над большими бизнес приложениями в продакшн для определенного заказчика, я должен вам сказать – не делайте этого или хорошенько подумайте перед тем как использовать его. Но об этом мы поговорим дальше, если кого заинтересовал — прошу под кат.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии5

Oracle RAC. Общее описание / Часть 1

Время на прочтение10 мин
Количество просмотров72K
Высоконагруженные сайты, доступность «5 nines». На заднем фоне (backend) куча обрабатываемой информации в базе данных. А что, если железо забарахлит, если вылетит какая-то давно не проявлявшаяся ошибка в ОС, упадет сетевой интерфейс? Что будет с доступностью информации? Из чистого любопытства я решил рассмотреть, какие решения вышеперечисленным проблемам предлагает Oracle. Последние версии, в отличие от Oracle 9i, называются Oracle 10g (или 11g), где g – означает «grid», распределенные вычисления. В основе распределенных вычислений «как ни крути» лежат кластера, и дополнительные технологии репликации данных (DataGuard, Streams). В этой статье в общих чертах описано, как устроен кластер на базе Oracle 10g. Называется он Real Application Cluster (RAC).

Статья не претендует на полноту и всеобъемлемость, также в ней исключены настройки (дабы не увеличивать в объеме). Смысл – просто дать представление о технологии RAC.

P.S. Beware of the многабукаф
Продолжение статьи

Читать дальше →
Всего голосов 55: ↑49 и ↓6+43
Комментарии10

RAC становится vWorker

Время на прочтение1 мин
Количество просмотров571
image

Популярная биржа фриланс-проектов RAC (RentACoder) теперь известна под именем vWorker (virtual worker). Соответственно, изменился фирменный стиль, а также дизайн сайта. Не сказать, что получилось что-то из ряда вон выходящее, но все же смотрится на порядок лучше того, что было раньше. Впрочем, и функциональность сервиса изменилась в лучшую сторону. Теперь сайт позволяет намного легче отыскать требуемую информацию, больше нет длинных «простыней» с разнообразной информацией. Многих российских фрилансеров отталкивала типично американская система подачи информации в духе поздних 90-х. Теперь vWorker более дружелюбен, «вебдванолен» и «юзабилен». Короче говоря, теперь с иностранными заказчиками работать будет намного приятнее и проще.
Всего голосов 11: ↑7 и ↓4+3
Комментарии3

Нюансы установки Oracle 10g RAC на SUSE 11

Время на прочтение3 мин
Количество просмотров5.9K
Стояла задача — установить Oracle 10g RAC на SLES 11. По ходу установки столкнулся с рядом нюансов, которые были слабо описаны на просторах интернета. Детально процесс установки описывать не буду. Для этого можно посмотреть следующие описания. которыми и я пользовался при установке:
* на русском
* на английском

Исходные данные:
— внешнее хранилище, подключенное по Fibre Channel
— 2 удаленные ноды с установленной SLES 11, имеется kvm

Подготовительные работы

— настроить и проверить ntp на всех узлах, запустить с флагом -x (/etc/sysconfig/ntp — в опциях)
— установить дополнительные пакеты (совет — установить девелоперский пакет и полноценные Х-сы)
— установить java
— исправить /etc/profile.d/oracle.sh — подправить ORACLE_BASE, ORACLE_HOME итд.
— исправить /etc/profile.d/oracle.csh — подправить ORACLE_BASE, ORACLE_HOME итд.
— usermod -G dba,disk oracle
— у Rac и Database хоумы разные, поэтому перед установкой RAC выставить, к примеру,
ORACLE_HOME=/opt/oracle/product/10.2/crs
Настройка сети

— настроить DNS
— устанавливаем IP и прописываем в DNS для каждой ноды
  1. public IP, к примеру eth1
  2. private IP (для интерконнекта, желательно внутренний VLAN ), к примеру eth2
  3. VIP IP (в той же сети что public) — виртуальные адреса, которые просто прописываются в DNS, кластер потом их сам поднимет
— настроить ssh ключи, чтоб пользователь oracle ходил на все ноды без пароля

Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Строим инфраструктуру Oracle Data Guard 12c из Oracle RAC баз данных с использованием Far Sync

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

Введение


Целью данной работы ставилось построение демо стенда для изучения возможностей Oracle Data Guard из узлов Oracle RAC 12.1.0.2.0.

Так как под рукой у меня не нашлось сервера, на котором я бы мог разместить все необходимые мне виртуальные машины (7 штук), то строить будем с использованием офисных PC.

Итого имеем:
  1. 3 PC с такими характеристиками: CPU i5, 16 GB RAM
  2. Обычная офисная сеть 1Gbit/s

На двух PC разместятся два сайта Oracle Data Guard, в каждом из которых по 2 узла Oracle RAC 12c и один Far Sync экземпляр в отдельных виртульных машинах.

На третьем PC разместится одна виртуалка управления с Oracle Enterprise Manager Cloud Control 12c Release 5 (12.1.0.5). Насчет EM — дальше я о нем упоминать не буду ввиду того, что это отдельная тема в данном случае больше связанная не с построением стенда Data Guard, а с его использованием.

Необходимое программное обеспечение Oracle скачиваем с их сайта, а в качестве основной операционной системы я выбрал Fedora 22 с qemu-kvm + libvirt + openvswitch. В качестве гостевой ОС используем Oracle Linux 6.6.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии4