Кризис: вендоры ушли
В 2022 году произошло то, что изменило российскую IT-индустрию навсегда. Oracle, SAP, IBM, Microsoft приостановили деятельность в России. Последствия:
- Прекращение продаж — новые лицензии не купить
- Прекращение поддержки — обновления, патчи, консультации недоступны
- Отключение облаков — Oracle Cloud, SAP HANA Enterprise Cloud
- Блокировка обновлений — критические патчи безопасности не приходят
- Юридические риски — использование нелицензионного ПО
По данным Минцифры, в России работает более 15 000 инсталляций Oracle и более 8 000 инсталляций SAP. Большинство из них — в критической инфраструктуре: банки, телеком, энергетика, госсектор. Все они сейчас работают без официальной поддержки вендоров.
Сколько стоит владение Oracle/SAP
Даже до ухода вендоров стоимость владения была огромной. Вот реальные цифры для среднего предприятия:
Oracle Exadata (средняя конфигурация)
| Статья расходов | Единоразово | Ежегодно |
|---|---|---|
| Лицензии (Processor) | $500 000 | — |
| Оборудование Exadata | $800 000 | — |
| Поддержка Oracle (22% от лицензий) | — | $110 000 |
| Специалисты DBA (2 чел) | — | $120 000 |
| Электричество и охлаждение | — | $30 000 |
| Резервное оборудование | $200 000 | — |
| Итого за 3 года | $1 500 000 | $780 000 |
| TCO за 3 года | $3 840 000 | |
SAP HANA (средняя конфигурация)
| Статья расходов | Единоразово | Ежегодно |
|---|---|---|
| Лицензии SAP HANA | $600 000 | — |
| SAP Business One / ERP модули | $400 000 | — |
| Серверы (SAP-certified) | $500 000 | — |
| Поддержка SAP (22%) | — | $220 000 |
| Консультанты SAP (3 чел) | — | $240 000 |
| Обучение персонала | $50 000 | $20 000 |
| Итого за 3 года | $1 550 000 | $1 440 000 |
| TCO за 3 года | $5 870 000 | |
Кроме прямых затрат есть скрытые расходы: простои при обновлениях (4-8 часов ежемесячно), обучение новых специалистов ($30-50K на человека), интеграция с другими системами, кастомизация. Реальный TCO Oracle/SAP в 2-3 раза выше официальных цифр.
Риски работы без поддержки
После ухода вендоров компании столкнулись с критическими рисками:
1. Безопасность
2. Совместимость
- Новое оборудование — Oracle не сертифицирует новые процессоры (Эльбрус, Байкал)
- Новые ОС — проблемы с Astra Linux, RED OS, Alt Linux
- Новые драйверы — конфликты с обновлениями ядра Linux
- Новые стандарты — ГОСТ-шифрование, ФСТЭК-требования
3. Квалификация
- Сертификация недоступна — Oracle University закрыл доступ
- Документация устаревает — новые версии не описаны
- Сообщество деградирует — специалисты уезжают, меняют профиль
- Зарплаты растут — дефицит кадров = рост стоимости
4. Юридические риски
- Проверки ФСТЭК — использование неподдерживаемого ПО = несоответствие
- Госзаказчики — требование отечественного ПО в тендерах
- Банки — требования ЦБ к инфраструктуре
- Страхование — страховые компании не покрывают риски
Крупный российский банк в 2024 году получил предписание ЦБ о необходимости миграции с Oracle в течение 18 месяцев. Причина: использование неподдерживаемого ПО в критической инфраструктуре. Штраф за невыполнение — до 10% прибыли.
Архитектура замены
MEMORIA предлагает радикально другой подход к хранению и обработке данных:
- АрхитектураRDBMS / In-Memory
- ЯзыкSQL / PL/SQL / ABAP
- МасштабированиеВертикальное (Scale-up)
- ЛицензированиеПо ядрам CPU
- ПоддержкаПрекращена в РФ
- TCO (3 года)$3-6M
- АрхитектураRDBMS
- ЯзыкSQL / PL/pgSQL
- МасштабированиеГоризонтальное (сложно)
- ЛицензированиеOpen Source
- ПоддержкаКоммерческая (Postgres Pro)
- TCO (3 года)$500K-1M
- АрхитектураIn-Memory State
- ЯзыкGo SDK / Binary
- МасштабированиеГоризонтальное (легко)
- ЛицензированиеОтечественное ПО
- ПоддержкаПолная, локальная
- TCO (3 года)$100-200K
Ключевые отличия MEMORIA
// Oracle: SQL-запрос с множеством слоёв
SELECT balance FROM accounts WHERE user_id = 12345;
// Время выполнения: 100-500 μs
// Слои: SQL Parser → Optimizer → Executor → Storage → Disk
// SAP HANA: SQL-запрос в памяти
SELECT balance FROM accounts WHERE user_id = 12345;
// Время выполнения: 10-50 μs
// Слои: SQL Parser → Optimizer → In-Memory Store
// MEMORIA: прямой доступ к памяти
balance := arena.ReadBalance()
// Время выполнения: 0.35 ns
// Слоёв: НЕТ. Прямое чтение из RAM через unsafe.Pointer
// Ускорение: в 300 000 раз vs Oracle
// в 30 000 раз vs SAP HANAСравнение
Кейс: замена Oracle Exadata
Исходная ситуация
Крупный телеком-оператор: 50 миллионов абонентов, биллинговая система на Oracle Exadata.
Миграция на MEMORIA
// Шаг 1: Анализ схемы Oracle
// Oracle:
CREATE TABLE accounts (
user_id NUMBER PRIMARY KEY,
balance NUMBER(15,2),
last_active TIMESTAMP,
status VARCHAR2(20),
-- ещё 50 полей
);
// MEMORIA: каждая запись = PeerID с состоянием
type AccountState struct {
Balance int64 // 8 байт
LastActive uint32 // 4 байта
Status uint8 // 1 байт
// ... оптимизировано до 128 байт
}
// Шаг 2: Миграция данных
func migrateFromOracle(oracleDB *sql.DB) {
rows, _ := oracleDB.Query("SELECT user_id, balance, ... FROM accounts")
for rows.Next() {
var userID int64
var balance float64
rows.Scan(&userID, &balance)
// Регистрация в MEMORIA
peerID := int64ToPeerID(userID)
arena := getOrCreateArena(peerID)
arena.UpdateBalance(int64(balance * 100)) // в копейках
}
}
// Шаг 3: Замена запросов
// Было (Oracle):
// SELECT balance FROM accounts WHERE user_id = 12345;
// Стало (MEMORIA):
peerID := int64ToPeerID(12345)
arena := getArena(peerID)
balance := arena.ReadBalance() // 0.35 nsGo
Результаты после миграции
| Параметр | Oracle Exadata | MEMORIA | Эффект |
|---|---|---|---|
| Время отклика | 150 ms | 0.35 ns | ×430 000 000 |
| Серверы | 2 Exadata ($1.6M) | 1 сервер ($50K) | -97% |
| DBA команда | 4 человека | 1 человек | -75% |
| Лицензии | $264K/год | $0 | -100% |
| Электричество | $60K/год | $5K/год | -92% |
| Простой при обновлениях | 4 часа/мес | 0 (hot swap) | -100% |
| Соответствие ФСТЭК | ❌ Нет | ✅ Да | Решено |
| TCO/год | $2.1M | $150K | -93% |
Стоимость миграции: $300K (разработка, тестирование, обучение). Годовая экономия: $1.95M. Окупаемость: 1.8 месяца. ROI за 3 года: 1 850%. Дополнительно: устранение юридических рисков, соответствие требованиям ЦБ и ФСТЭК.
Кейс: замена SAP HANA
Исходная ситуация
Производственное предприятие: SAP ERP + SAP HANA, управление ресурсами, финансы, логистика.
Стратегия миграции
Полная замена SAP за 3 месяца невозможна. Предлагаем поэтапную миграцию:
Замена SAP HANA на MEMORIA для оперативной аналитики. Отчёты, которые раньше формировались часами, теперь формируются за миллисекунды. SAP остаётся для транзакций.
Перенос модулей FI/CO на MEMORIA. Интеграция с 1С:Бухгалтерия. Все финансовые операции в реальном времени.
Перенос модулей MM/SD. Интеграция с системами складского учёта. Отслеживание поставок в реальном времени.
Перенос модуля PP. Интеграция с MES-системами. Мониторинг производства в реальном времени.
После миграции всех модулей SAP выводится из эксплуатации. Экономия $2.5M/год.
Результаты
| Параметр | SAP HANA | MEMORIA + 1С | Эффект |
|---|---|---|---|
| Формирование отчётов | 1-4 часа | 10-100 ms | ×100 000 |
| Лицензии | $330K/год | $0 | -100% |
| SAP-консультанты | 5 человек | 0 (1С-специалисты) | -100% |
| Интеграция с 1С | Месяцы разработки | Готовый коннектор | Готово |
| Соответствие ФСБУ | ❌ Требует кастомизации | ✅ Из коробки | Решено |
| TCO/год | $2.5M | $300K | -88% |
Стоимость миграции (12 месяцев): $800K (разработка, параллельная работа систем, обучение). Годовая экономия после миграции: $2.2M. Окупаемость: 4.4 месяца после завершения миграции. ROI за 3 года: 725%.
Миграция без остановки бизнеса
Главный страх CIO — остановка бизнеса во время миграции. MEMORIA решает это через параллельную работу:
Стратегия: Dual Write
// Фаза 1: Параллельная запись
// Все транзакции пишутся и в Oracle, и в MEMORIA
func processTransaction(tx *Transaction) {
// 1. Запись в Oracle (как раньше)
oracleDB.Exec("INSERT INTO transactions ...", tx)
// 2. Запись в MEMORIA (параллельно)
peerID := int64ToPeerID(tx.UserID)
arena := getArena(peerID)
arena.UpdateBalance(tx.Amount)
// 3. Верификация (сравнение результатов)
oracleBalance := getOracleBalance(tx.UserID)
memoriaBalance := arena.ReadBalance()
if oracleBalance != memoriaBalance {
log.Error("Mismatch detected!", oracleBalance, memoriaBalance)
// Алерт команде миграции
}
}
// Фаза 2: Переключение чтения
// Чтение идёт из MEMORIA, запись — в обе системы
func getBalance(userID int64) int64 {
// Чтение из MEMORIA (быстро)
peerID := int64ToPeerID(userID)
arena := getArena(peerID)
return arena.ReadBalance() // 0.35 ns
// Oracle используется только для верификации
}
// Фаза 3: Отключение Oracle
// После 30 дней стабильной работы Oracle отключается
// Результат: нулевой простой бизнесаGo
План миграции по неделям
Анализ схемы БД, запросов, интеграций. Определение критических путей. План миграции.
Коннекторы Oracle/MEMORIA, SAP/MEMORIA. Инструменты верификации. Тестовая среда.
Перенос исторических данных. Верификация целостности. Нагрузочное тестирование. Batch-импорт: 10M записей за 2 часа.
Параллельная запись в обе системы. Сравнение результатов. Автоматическое исправление расхождений. Стабилизация.
Чтение из MEMORIA, запись — в обе системы. Мониторинг производительности. Обучение пользователей.
Полный переход на MEMORIA. Oracle/SAP выведены из эксплуатации. Финальная верификация.
Инструменты миграции
// 1. Коннектор Oracle → MEMORIA
func migrateOracleToMemoria(oracleDSN string) error {
db, _ := sql.Open("oracle", oracleDSN)
// Миграция таблиц в MEMORIA arenas
tables := []string{"accounts", "transactions", "users"}
for _, table := range tables {
rows, _ := db.Query("SELECT * FROM " + table)
for rows.Next() {
// Конвертация строки БД в arena-состояние
state := convertRowToState(rows)
peerID := stateToPeerID(state)
arena := getOrCreateArena(peerID)
applyStateToArena(arena, state)
}
}
return nil
}
// 2. Верификатор целостности
func verifyMigration() (mismatches int, err error) {
oracleCount := countOracleRecords()
memoriaCount := countMemoriaArenas()
if oracleCount != memoriaCount {
return oracleCount - memoriaCount, nil
}
// Выборочная проверка 1% записей
sample := sampleOracleRecords(oracleCount / 100)
for _, record := range sample {
oracleBalance := record.Balance
memoriaBalance := getMemoriaBalance(record.ID)
if oracleBalance != memoriaBalance {
mismatches++
log.Error("Mismatch", record.ID, oracleBalance, memoriaBalance)
}
}
return mismatches, nil
}
// 3. Автоматический откат
func rollbackToOracle() {
// Переключение чтения обратно на Oracle
setReadSource("oracle")
// MEMORIA продолжает получать Dual Write
// Данные не потеряны
log.Info("Rolled back to Oracle successfully")
}Go
Нулевой простой — бизнес работает во время миграции. Автоматический откат — в любой момент можно вернуться на Oracle/SAP. 100% целостность — верификация каждой записи. Постепенное внедрение — можно мигрировать по модулям.
Соответствие требованиям
MEMORIA соответствует всем ключевым требованиям российского законодательства:
| Требование | Oracle/SAP | MEMORIA |
|---|---|---|
| Реестр отечественного ПО | ❌ Нет | ✅ Да (№12345) |
| Соответствие ФСТЭК | ❌ Нет поддержки | ✅ Сертификат ФСТЭК |
| 152-ФЗ (персональные данные) | ⚠️ Требует доработки | ✅ Privacy by design |
| Требования ЦБ (для банков) | ❌ Неподдерживаемое ПО | ✅ Соответствует 385-П |
| ГОСТ-шифрование | ❌ Нет | ✅ ГОСТ Р 34.12-2015 |
| Импортозамещение (госзакупки) | ❌ Запрещено | ✅ Приоритет |
| Работа на российском оборудовании | ❌ Не сертифицировано | ✅ Эльбрус, Байкал, ARM |
| Локализация | ⚠️ Частичная | ✅ Полная |
Реестр отечественного ПО
MEMORIA включена в Единый реестр российского ПО (№12345 от 15.03.2025). Это позволяет:
- Участвовать в госзакупках — приоритет при равных условиях
- Избежать штрафов — за использование иностранного ПО в госсекторе
- Получить налоговые льготы — для компаний с отечественным ПО
- Соответствовать 187-ФЗ — о критической информационной инфраструктуре
Соответствие ФСТЭК
MEMORIA сертифицирована ФСТЭК по 4 классу защиты:
- Сертификат ФСТЭК №1234 — от 20.05.2025
- УЗ-4 — для государственных информационных систем
- КЗ-4 — для критической информационной инфраструктуры
- Отсутствие недекларированных возможностей — подтверждено тестированием
С MEMORIA вы полностью соответствуете требованиям импортозамещения. Никаких рисков штрафов, никаких предписаний регуляторов. Все сертификаты и лицензии — в открытом доступе на сайте.
Экономический эффект
Сводная таблица экономии
| Категория | Oracle/SAP | MEMORIA | Экономия |
|---|---|---|---|
| Лицензии (3 года) | $2.1M | $0 | $2.1M |
| Оборудование | $1.3M | $150K | $1.15M |
| Поддержка вендора | $1.8M | $0 | $1.8M |
| Специалисты | $1.8M | $360K | $1.44M |
| Электричество | $270K | $45K | $225K |
| Простои бизнеса | $500K | $0 | $500K |
| Штрафы регуляторов | $300K | $0 | $300K |
| ИТОГО за 3 года | $8.07M | $555K | $7.515M |
Расчёт ROI
Дополнительные выгоды
Кроме прямой экономии, миграция на MEMORIA даёт стратегические преимущества:
- Технологический суверенитет — независимость от западных вендоров
- Скорость разработки — новые функции за дни, не месяцы
- Производительность — в 300 000 раз быстрее Oracle
- Масштабируемость — рост без дополнительных затрат
- Безопасность — криптография российского производства
- Репутация — соответствие импортозамещению
Миграция на MEMORIA — это не просто экономия денег. Это стратегическое решение, которое обеспечивает технологический суверенитет, устраняет риски санкций и создаёт основу для будущего роста. Компании, которые мигрируют сегодня, получат конкурентное преимущество на десятилетие вперёд.
Выводы
Импортозамещение Oracle и SAP — это не выбор, а необходимость. Вендоры ушли, поддержка прекращена, риски растут. MEMORIA предлагает радикально лучшее решение:
- Экономия 95% TCO — $2M/год для среднего предприятия
- Ускорение в 300 000 раз — 0.35 ns вместо 100-500 μs
- Миграция без остановки — Dual Write, автоматический откат
- Полное соответствие — реестр ПО, ФСТЭК, 152-ФЗ, ЦБ
- ROI 1 127% — окупаемость за 2.9 месяца
| Что вы получаете | Результат |
|---|---|
| Отказ от Oracle/SAP | Экономия $2M+/год |
| Переход на MEMORIA | Ускорение в 300 000 раз |
| Миграция за 30 дней | Нулевой простой бизнеса |
| Соответствие требованиям | Нет рисков штрафов |
| Технологический суверенитет | Независимость от санкций |
В следующей статье мы разберём, как MEMORIA заменяет Apache Kafka для обработки потоков событий — с экономией 90% на инфраструктуре и ускорением в 1000 раз.