Практикувам гъвкави техники за бази данни от около двадесет години. Използването ми на тези техники не започна като определен план; по-скоро се развиваше с течение на времето, докато се консултирах по различни проекти. Имаше смисъл да се търсят начини за по-бърза работа и с по-голямо взаимодействие с клиентите.
Сещам се за поне три вида техники за гъвкави бази данни:
- Моделиране на данни
- Развитие на склад за данни
- Обратно инженерство на база данни
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.