Постановочне середовище бази даних для персоналу, який не є ІТ


10

Я зараз пропоную своєму ІТ-відділу запропонувати середовище постановки бази даних. Ідея полягає в тому, що людина, яка не є ІТ, як я (аналітик даних громадських робіт) мала б місце для тестування рішень, а потім або сама реалізувати їх у прямому середовищі, або попросити ІТ запровадити їх у разі потреби. Є кілька причин / сценаріїв, коли це середовище було б корисним:

  1. У мене є деякі основні привілеї бази даних в нашому реальному середовищі бази даних ( create table, create viewі т.д.). Я вношу зміни в схему приблизно раз на тиждень, але мені здається божевільним тестувати та впроваджувати ці зміни у живому середовищі. Існує незліченна кількість баз даних, тож якщо щось піде не так, це може бути катастрофічним. Я набагато краще перевірити речі достроково в окремому середовищі.
  2. У мене немає деяких більш досконалих привілеїв, таких як create triggerабо create functionв базі даних в реальному часі. Це добре, але у мене є кілька проблем, які можна було б вирішити за допомогою тригерів та / або функцій. Я планую запропонувати мені дозволити ці дозволи в постановковому середовищі, щоб я міг розробити та протестувати деякі ідеї, а якщо вони працюватимуть, пропоную ІТ реалізувати їх у прямому середовищі.
  3. Загалом у мого відділу ІТ немає часу та ресурсів для розробки для мене рішень. Це дійсно так просто. Тож якщо я можу виконати роботу з ніжками самостійно, то мої проблеми набагато частіше вирішаться.

"Настанова для персоналу, що не є ІТ", здається мені достатньо здоровим підходом, але якщо чесно, я просто сформулював ідею. Я поняття не маю, як це зазвичай робиться у світі ІТ / баз даних.

Чи існує якась усталена практика ІТ / баз даних, яка б відповідала цьому сценарію? (Я на правильному шляху, коли пропоную середовище постановки бази даних для персоналу, який не є ІТ?)


1
Чи є в базі даних суперчутливі дані, до яких ви не повинні отримувати доступ? Здавалося б, легкою проблемою є те, щоб вони надсилали вам резервну копію БД для відновлення на вашому персональному комп’ютері, з яким ви можете грати, не боячись зламати виробництво. Для цього не знадобляться додаткові ресурси, і все, що їм потрібно зробити, це доставити вам резервну копію. Однак це дуже залежить від потреб у безпеці вашого оточення.
Шаулінатор

1
Тоді я думаю, що резервне копіювання та відновлення для використання у вашому власному середовищі - це низька вартість та просте рішення. В ідеалі, однак, у вас повинно бути декілька середовищ, що залежать від рівня потужності процесора, що імітують один одного, і коли ви вносите зміни, ви повільно переробляєте їх у всіх середовищах. У нас є розробник, щоб грати і змінюватися, рекламувати, щоб перевірити, де речі отримують QA'd, потім інше середовище, яке майже 1: 1 Prod для обладнання, а потім Prod, де речі йдуть живими. Це, очевидно, дорого. Мати іншу схожу базу даних на сервері - це ще одна ідея.
Шаулінатор

1
Я вважаю за краще тримати середовище повністю розділеною, але мінімізує шанс викликати проблему до мінімуму, якщо у вас є запит, який утікає.
Шаулінатор

1
Експрес-видання бази даних Oracle - це, мабуть, ваш простий вибір. Встановіть його на свій апарат, встановіть таблиці, як на головному db. Завантажте репрезентативні дані, і ви можете розробити / протестувати скільки завгодно. Після того, як ви будете готові, ви можете надіслати їм зміни для тестування / оцінки.
Радж

1
@Raj, проблема з Express Edition полягає в тому, що в ній ледь не існує будь-якої корисної функціональності. Вілсоне, оскільки будь-які реальні можливості для Oracle надходять лише з Enterprise Edition, ліцензування Oracle, ймовірно, є однією з найбільших перешкод, яких я ще не бачив, хоча Shaulinator доторкнувся до неї певною мірою. Oracle не пропонує більш дешеву ліцензію для невиробничих середовищ, про які я знаю, тому у вас є досить дороге перешкода лише з ліцензуванням. Хмара може бути для вас хорошим варіантом виключно через бюджетні проблеми.
Джон Ейсбренер

Відповіді:


2

Я погоджуюся з відповіддю @Marcin Gminiski про те, що ви в ідеалі хочете мати середовище, яке імітує функціональність, наявну у вашому виробничому середовищі. Хоча мої 2 копійки з цього питання все зводиться до "Що ти можеш собі дозволити?" Бюджетні обмеження часто є вбивцею хорошого процесу, тому дійсно те, що ви можете собі дозволити, визначатиме складність / елегантність вашого остаточного рішення.

Оскільки ви згадуєте, що вашому ІТ-департаменту бракує часу та персоналу, щоб створити для вас оточення, чи зможете ви (а точніше, ваш відділ / менеджер) внести будь-яке фінансування до столу? Забезпечення невеликої кількості щорічного фінансування відкриє можливість дивитися на хмару. Хмарні провайдери пропонують все необхідне, а деякі рішення навіть включають відповідні ліцензії, що часто є вашою найбільшою вартістю, оскільки стосується Oracle. Якщо ви не кидаєте конфіденційні дані в це середовище, хмара стає ще привабливішою.

Існують всі варіанти хмарних варіантів, але я вкажу вам на екземпляри Oracle RDS на AWS виключно тому, що вони пропонують опцію, що включає ліцензію , і ви можете вимкнути її, коли не використовуєте її для подальшого мінімізації витрат. Еквівалент може існувати і в інших хмарних постачальників, але багато хмарних постачальників, з якими я знайомий, вимагають пред'явити власну ліцензію (BYOL) для рішень на базі Oracle, а не пропонувати включну ліцензію.

Останнє зауваження тут, екземпляр AWS RDS є ТОЛЬКО базою даних, тому будь-яка інфраструктура сервера додатків, яка вам також потрібна, повинна бути врахована додатково. Хмара - це чудовий варіант, якщо вам потрібно швидке середовище для перевірки функціональності, все це є економічно ефективним підходом; просто переконайтеся, що ви продовжуєте це робити, і вимикайте речі, щоб ви не платили за непрацюючі сервери.


3

Зазвичай гідне середовище створюється як мінімум з DEV -> TEST -> PRE-PROD -> PROD. Розробка зазвичай матиме доступ до розробки в програмі DEV, прийняття тестів у TEST та IT до випуску в PRE та PROD. Якщо ви використовуєте управління джерелом, ви уникнете проблем навколо редагування одного і того ж фрагмента коду різними розробниками одночасно.

Технічно вам потрібна лише схема, яка повинна бути такою ж, як і у prod і не потребують виробничих даних, які знаходяться нижче попереднього продукту, але якщо ви все добре, маючи дані prod поза середовищем prod, у вас може бути автоматичне відновлення в dev / test. Я провів подібну роботу з Visual Cron, і це творить чудеса.

Ймовірно, для того, щоб залишатися сумісними ІТ-персонал, вам доведеться випустити зміни в програму pre і prod, щоб зробити це простішим та більш стійким, ви могли б спуститися по маршруту автоматизованих розгортань.


2

Ось мій досвід:

Спочатку у нас було центральне середовище розвитку simserver. Розробники перевіряли б речі одночасно, і це стало безладно .

Тепер у кожного розробника є локальний, до simserverякого вони розгортаються для тестування. Як тільки вони кажуть, що вона готова, її підштовхують до quality assurance (QA) environment. У нас є jiraтестові випадки на все, що потрібно перевірити, а також ми ще раз тестуємо нові доповнення (ми виділили спеціалістів із забезпечення якості, які не займаються розробкою; лише QA).

Потім його виштовхують наживо.

Зробити локальний simserverлогічно і просто. Щойно ви VMготові шаблони, розробники просто розгортають їх на своєму персональному комп’ютері (без доступу до іншої мережі - лише свого локального комп'ютера).


1
Я думаю, що для симулятора він має на увазі локальне SQL-середовище, яке має певний рівень дзеркального відображення (просте відновлення резервної копії?) Середовища prod ... Ви виконуєте завдання з розробки цього локального середовища. Jira - це платформа для управління проектами та відстеження проблем, яка дозволяє розробникам та QA відстежувати зміни. Я думаю, що він констатує, що запропонована зміна, яка виконується в місцевому екземплярі, надсилається до jira for dev. огляд. VM - віртуальна машина.
Уес
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.