Database
 sql >> база данни >  >> RDS >> Database

Проектиране на база данни

Практикувам гъвкави техники за бази данни от около двадесет години. Използването ми на тези техники не започна като определен план; по-скоро се развиваше с течение на времето, докато се консултирах по различни проекти. Имаше смисъл да се търсят начини за по-бърза работа и с по-голямо взаимодействие с клиентите.

Сещам се за поне три вида техники за гъвкави бази данни:

  • Моделиране на данни
  • Развитие на склад за данни
  • Обратно инженерство на база данни

Agile Data Modeling

Мнозина смятат моделирането на данни като трудоемка задача. Но това не трябва да е така. Можете да изнесете моделирането на данни от задната стая и да го направите пред клиента. Може да си помислите, че клиентите ще бъдат отблъснати от техническите проблеми, но не са. Бизнес персоналът има страст към работата си и визия за това къде искат да отидат. Те са развълнувани, че имат ИТ като фасилитатор, а не като препятствие.

За гъвкаво моделиране на данни разработчикът трябва да направи следното:

  • Владейте свободно концепциите за моделиране на данни и инструмент за моделиране на данни.
  • Направете си приятелска публика за първите няколко пъти. Трябва да изпробвате техниките си върху подхранваща публика, докато не придобиете увереност.
  • Имайте поне един бизнес шампион сред публиката – някой, който да получи резултата от работата ви, някой, който разбира бизнеса дълбоко и ще помогне да насочите другите към консенсус.
  • Имате солиден проект с ясна цел и бизнес обосновка.

С гъвкавото моделиране на данни разработчиците работят бързо и доставят чести ревизии на модела. Предпочитам сесиите за моделиране на данни да продължават не повече от два часа. Тези сесии са интензивни, като всеки се блъска с идеи. След два часа участниците ще се нуждаят от почивка. Ще ви трябва също време, за да почистите модела и да наваксате документацията.

Гъвкавите техники се прилагат за всички аспекти на моделирането на данни, включително ежедневните операционни системи, хранилища за данни, модели на основни данни и модели на данни на предприятието.

Техници за разработка на Agile Data Warehouse

Гъвкавите техники също са важни, когато изграждате склад за данни. По-конкретно, има две области, в които прилагаме тези техники за разработване на складове.

Първият е подреждане на данни . Добра практика е да се използват междинни етапни таблици за буфериране на склада от оперативните източници. Поетапните таблици дублират оперативни данни и добавят метаданни, като изходна система, дата на обработка, ефективна дата за време и времева марка на изтичане. Понастоящем повечето разработчици обработват промежутъчни данни с персонализиран ETL код. (ETL е акроним за извличане, трансформиране и зареждане.) Има поне един инструмент (A2B данни), който автоматизира създаването и попълването на схеми на таблици за етапи.

Ние също така използваме гъвкави техники за подобряване на обработката на складови данни . За това ние предпочитаме комбинация от ETL и SQL. ETL се използва за основни таблици със сложна логика, докато SQL се използва за периферни таблици - и има много такива в типичен склад. Писането на SQL е приблизително 10 пъти по-бързо от ETL. SQL кодът също е по-лесен за разработване и тестване. Разумно можете да очаквате да замените ETL със SQL за около половината от таблиците; точната сума зависи от сложността на склада и вашите SQL умения.

Тези подобрения намаляват количеството ETL код, който се нуждае от писане, докато го внедрява там, където е най-ценно:за големи набори от данни с множество източници за интегриране и обработка.

Подвижност в обратното инженерство на бази данни

Ние също така използваме гъвкави техники по време на обратното инженерство. Обратното инженерство взема съществуващ дизайн и работи обратно, за да извлече основното логическо намерение. Обратното инженерство на бази данни може да има различни мотиви. Може да конвертирате от една платформа на база данни в друга. Или може да се опитвате да разберете по-добре модела за целите на поддръжката. Или може да се опитвате да спасите изискванията, заложени в схема, за разглеждане от нов софтуер.

Обикновено започваме с анализ на съществуващата схема. Често е налична схема и това е нещо, което можем да проучим бързо. Можем да допълним това с други ресурси, като документация, данни и разговори с разработчици.

Инструментът за моделиране на данни е важен ресурс за изучаване на схемата. Повечето инструменти могат да импортират SQL схемата, така че да можете да видите таблиците и как те се свързват заедно. Често това е достатъчно за анализ на обратния инженеринг.

Agile Техники за база данни:Изходът

Agile разработката е популярна тема, която има няколко последици за базата данни. Гъвкавият подход е полезен за моделиране на данни, разработване на хранилище за данни и обратно инженерство на база данни.

Майкъл Блаха е консултант и обучител, който е специализиран в замисляне, архитектура, моделиране, проектиране и настройка на бази данни. Работил е с десетки организации по света. Д-р Блаха е автор на седем патента в САЩ, седем книги, много статии и два видео курса. Последната му публикация е Agile Data Warehouse Design видео курс от O’Reilly. Получава докторска степен от Вашингтонския университет в Сейнт Луис и е възпитаник на GE Global Research в Шенектади, Ню Йорк. Можете да намерите повече информация в неговия профил в LinkedIn или на superdataguy.com.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T-SQL грешки, клопки и най-добри практики – детерминизъм

  2. Абонаментен модел на бизнес данни

  3. Моделиране на база данни

  4. Проследяване на ниво колона и ред при репликация при сливане

  5. Прилики и разлики между функциите RANK, DENSE_RANK и ROW_NUMBER