انبار داده (Data Warehouse)

چکیدهانبار داده، همچنین به عنوان انبار داده سازمانی (EDW) شناخته می‌شود، یک سیستم مخزن مرکزی است که کسب و کارها از آن برای ذخیره اطلاعات ارزشمند به منظور تجزیه و تحلیل و گزارش استفاده می کنند. این به عنوان یک جزء کلیدی در زمینه هوش تجاری (BI) عمل می‌کند و سازمان‌ها را قادر می‌سازد تا بینش و تصمیم‌گیری آگاهانه بگیرند.انبار داده‌ها، داده‌ها را از منابع مختلف، از جمله پایگاه‌های داده داخلی و خارجی، از طریق فرآیندی به نام استخراج، تبدیل و بارگذاری (ETL) جمع آوری و ادغام می کند. این به مشاغل اجازه می دهد تا داده‌های فعلی و تاریخی را در یک سیستم استاندارد و غیر فرار ترکیب کنند. با متمرکز کردن داده‌ها، یک انبار داده به عنوان تنها منبع حقیقت (SSOT) برای سازمان عمل می‌کند و دسترسی آسان کارکنان مجاز به اطلاعات مورد نیاز را فراهم می‌کند.انبارهای داده برای تسهیل پردازش تحلیلی آنلاین (OLAP) و پشتیبانی از تجزیه و تحلیل داده‌های چند بعدی طراحی شده اند. آنها حجم زیادی از داده‌های خلاصه شده را ذخیره می‌کنند که اغلب به اندازه‌های بسیاری از پتابایت می‌رسد. تحلیلگران کسب و کار، مهندسان داده، دانشمندان داده و تصمیم گیرندگان از ابزارهای هوش تجاری، مشتریان SQL و سایر برنامه‌های تحلیلی برای دسترسی و تجزیه و تحلیل داده‌های ذخیره شده در انبار داده استفاده می‌کنند.مزایاانبارهای داده مزایای بسیاری را برای کسب و کارها فراهم می‌کنند. برخی از رایج ترین مزایا عبارتند از:یک مخزن متمرکز و پایدار برای مقادیر زیادی از داده های تاریخی فراهم می‌کند.یکی از مزایای اصلی این انبارها، فراهم کردن مخزنی پایدار و متمرکز برای مقادیر زیادی از داده‌های تاریخی است. در اینجا، مقادیر زیادی از داده‌های تاریخی که از منابع مختلفی گردآوری شده اند، در یک محیط مرکزی جمع آوری و ذخیره می‌شوند. این امر به کاربران کمک می‌کند تا به راحتی به داده‌های تاریخی دسترسی پیدا کنند، آنها را با داده‌های جدید ترکیب کنند و تحلیل‌های دقیق تری را انجام دهند. همچنین، این انبار داده ها به شرکت ها کمک می کند تا داده های تاریخی را در یک محیط پایدار و پایدار نگهداری کنند و از دسترسی به داده‌های از دست رفته جلوگیری کنند.بهبود فرآیندهای کسب و کار و تصمیم گیری با بینش عملیاستفاده از انبار داده‌ها به کاربران در تصمیم گیری‌هایی که بر اساس داده گرفته می‌شود، کمک می‌کند. در واقع، این انبارها برای تحلیل داده های تاریخی و پیش‌بینی آینده به کار می‌روند و به تصمیم گیری های بهتر و دقیق تر کمک می کنند.افزایش بازده کلی یک کسب و کار (ROI)با استفاده از انبار داده ها، کسب و کارها قادر خواهند بود تا به صورت بهتری تحلیل کنند و در نتیجه، درآمد و سود بیشتری بدست آورند. به عنوان مثال، این انبارها به کاربران کمک می کنند تا الگوهای بازار را شناسایی کنند و با استفاده از آنها، استراتژی‌های موفقی را برای کسب و کار ایجاد کنند.بهبود کیفیت داده‌هااستفاده از انبار داده‌ها به شرکت‌ها کمک می‌کند تا داده‌ها را تمیز و مرتب کنند و به روز نگه دارند. این انبارها برای این منظور طراحی شده اند تا اطمینان حاصل شود که داده ها دقیق و مورد اعتماد هستند.با استفاده از منابع متعدد، عملکرد و قابلیت‌های BI را افزایش می‌دهد.انبار داده‌ها به کاربران اجازه می‌دهد تا داده‌های تاریخی را با داده‌های جدید ترکیب کنند و دسترسی به داده هایی که در منابع مختلف در دسترس هستند را داشته باشند. با شناسایی الگوهایی که در داده‌های ترکیبی وجود دارند، کاربران می‌توانند تحلیل هایی را انجام دهند که از داده های تنها در یک سیستم تولید نمی‌شوند. به عنوان مثال، شرکت هایی که در کشور های مختلف فعالیت دارند، ممکن است در داده های مختلف ذخیره شده باشند. با استفاده از انبار داده، کاربران می‌توانند به طور موثری از داده های این منابع استفاده کنند و به تحلیل های دقیق تری دسترسی پیدا کنند.دسترسی به داده های تاریخی را در کل کسب و کار فراهم می‌کند.یک انبار داده به کاربران کمک می‌کند تا به داده های تاریخی، از جمله اطلاعات مربوط به مشتریان، فروش و مالی، دسترسی پیدا کنند. این دسترسی به داده های تاریخی به کاربران اجازه می‌دهد تا بهترین تصمیمات را برای کسب و کار خود بگیرند. با داشتن دسترسی به این داده ها، کاربران می‌توانند تحلیل های دقیق تری از عملکردر کسب و کار خود داشته باشند و از آنها برای ارتقای کیفیت و بهبود کارایی کسب و کار استفاده کنند.از هوش مصنوعی و یادگیری ماشینی برای بهبود تجزیه و تحلیل کسب و کار استفاده می‌کند.معایبگزینه ایده آلی برای داده های بدون ساختار نیست.استفاده از Data Warehouse برای داده هایی که ساختار ندارند، به دلیل عدم توانایی در ترجمه این داده ها به یک فرمت ساختاری قابل استفاده، ممکن است نامناسب باشد. به عنوان مثال، داده هایی که در فرمت نوشتاری بدون ساختار مانند متن، پیام های رسانه اجتماعی و پست های وبلاگی قرار دارند، به دشواری قابل استفاده در انبار داده ها هستند.ایجاد و اجرای Data Warehouse مطمئناً امری گیج کننده است.ایجاد و اجرای یک انبار داده نیازمند توانایی های فنی و مدیریتی قوی است. این فرآیند شامل طراحی، ساخت و پیاده سازی انبار داده، انتقال داده ها، مدیریت امنیت و پشتیبانی است. این فرآیند ممکن است برای بسیاری از کاربران نامطمئن و گیج کننده باشد.انبار داده می تواند نسبتاً سریع منسوخ شودپیشرفت تکنولوژی و تغییرات در نیازهای کسب و کار ممکن است باعث شود که انبار داده ها در مدت زمان کوتاهی منسوخ شوند و نیاز به ایجاد یک انبار داده جدید باشد. این مسئله ممکن است باعث هدر رفت منابع و هزینه برای سازمان شود.ایجاد تغییرات در انواع داده‌ها و محدوده‌ها، طرحواره منبع داده، نمایه ها و پرس و جوها مشکل است.پغییرات در داده ها و ساختار آنها ممکن است منجر به ایجاد مشکلاتی در انبار داده شود. برای اصلاح این مشکلات، نیاز به تغییرات در طرحواره منبع داده، نمایه ها و پرس و جوها وجود دارد، که این کار ممکن است بسیار پیچیده و زمانبر باشد.انبار داده ممکن است آسان به نظر برسد، اما در واقع برای کاربران عادی بسیار پیچیده است.در استفاده از انبار داده ها، نیاز به آموزش کاربران در مورد روش های استفاده از آنها و نحوه دسترسی به داده ها وجود دارد. برای بسیاری از کاربران، این فرآیند پیچیده و دشوار به نظر می رسد.با وجود بهترین تلاش ها در مدیریت پروژه، دامنه پروژه انبار داده همیشه افزایش خواهد یافت.یکی از مشکلاتی که ممکن است در انبار داده ها به وجود آید، افزایش دامنه پروژه است. با توجه به اینکه نیازهای کسب و کار همیشه در حال تغییر هستند، این ممکن است به معنی نیاز به افزایش دامنه پروژه، اضافه کردن داده های جدید و به روز رسانی انبار داده باشد. این مسئله ممکن است باعث بروز مشکلات فنی و مشکلات مدیریتی شود.گاهی اوقات کاربران انبار قوانین تجاری مختلفی را ایجاد می کنند.کاربران انبار داده ها ممکن است قوانین تجاری خود را برای استفاده از داده های ذخیره شده در انبار داده ها ایجاد کنند. این ممکن است به دلیل نیاز به حفاظت از حریم خصوصی داده ها یا تضمین دقت و صحت داده ها باشد. اما این مسئله ممکن است باعث محدودیت در استفاده از داده ها و ایجاد مشکلاتی برای کاربران شود.سازمان‌ها باید منابع زیادی را برای اهداف آموزشی و پیاده سازی هزینه کنند.ایجاد یک انبار داده و استفاده از آن نیازمند منابع زیادی است. این شامل هزینه های سخت افزاری، نرم افزاری، آموزشی و پیاده سازی است. به علاوه، برای رسیدن به بهره وری بالا، نیاز به پشتیبانی و بروزرسانی مداوم انبار داده ها و ابزارهای مورد استفاده است. هزینه های این نوع پروژه ها ممکن است برای برخی سازمان ها بسیار بالا باشد و ممکن است به دلیل محدودیت منابع، ایجاد یک انبار داده برای آنها امکان پذیر نباشد.نحوه کارکردانبار داده به عنوان یک مخزن مرکزی کار می کند که در آن اطلاعات از یک یا چند منبع داده می رسد. داده ها از سیستم تراکنشی و سایر پایگاه های داده رابطه ای به انبار داده جریان می یابد.داده ها ممکن است:ساختار یافتهنیمه ساختار یافتهداده های بدون ساختارداده‌ها پردازش، تبدیل و جذب می‌شوند تا کاربران بتوانند از طریق ابزارهای هوش تجاری، مشتریان SQL و صفحات گسترده به داده های پردازش شده در انبار داده دسترسی داشته باشند. یک انبار داده اطلاعاتی را که از منابع مختلف به دست می آید را در یک پایگاه داده جامع ادغام می کند.با ادغام همه این اطلاعات در یک مکان، یک سازمان می تواند مشتریان خود را به طور جامع تری تجزیه و تحلیل کند. این کمک می کند تا اطمینان حاصل شود که تمام اطلاعات موجود را در نظر گرفته است. ذخیره سازی داده ها، داده کاوی را ممکن می سازد. داده کاوی به دنبال الگوهایی در داده ها است که ممکن است منجر به فروش و سود بیشتر شود.معماری انبار دادهیک انبار داده یک سیستم پیچیده است که داده‌های تاریخی و تجمعی را که برای پیش‌بینی، گزارش‌دهی و تحلیل داده‌ها استفاده می‌شود، ذخیره می‌کند. این شامل جمع‌آوری، پاکسازی و تبدیل داده‌ها از جریان‌های داده مختلف و بارگذاری آنها در جداول واقعیت/ابعادی است.سه رویکرد برای ساخت یک انبار داده وجود دارد: معماری یک لایه، معماری دو لایه و معماری سه لایه. معماری سه لایه که شامل سه لایه است، پراکنده‌ترین معماری برای سیستم‌های انبار داده است: لایه پایینی پایگاه داده انبار داده است، جایی که داده‌های پاکسازی شده و تبدیل شده بارگذاری می‌شوند. لایه میانی لایه برنامه است که نمای انتزاعی از پایگاه داده را ارائه می‌دهد. لایه بالایی لایه مشتری جلویی است که شامل ابزارها و APIهای استخراج داده استفاده شده برای استخراج داده است.معماری یک لایه انبار دادهمعماری یک لایه یک رویکرد کمتر مورد استفاده است. هدف اصلی داشتن چنین معماری، حذف تکراری بودن با کاهش مقدار داده‌های ذخیره شده است. معایب اصلی آن این است که این معماری شامل یک اجزایی نیست که پردازش تحلیلی و تراکنشی را از یکدیگر جدا کند.معماری دو لایه انبار دادهمعماری دو لایه شامل یک فضای مرحله قرارگیری برای تمام منابع داده قبل از لایه انبار داده است. با افزودن فضای مرحله قرارگیری بین منابع و مخزن ذخیره، تضمین می‌شود که تمام داده‌هایی که به انبار داده بارگذاری می‌شوند، پاکسازی و در قالب مناسبی قرار دارند.معماری سه لایه انبار دادهرویکرد سه لایه، پراکنده‌ترین معماری استفاده شده برای سیستم‌های انبار داده است.اصولاً، شامل سه لایه است:لایه پایینی، پایگاه داده انبار داده است که جایی است که داده‌های پاکسازی شده و تبدیل شده بارگذاری می‌شوند.لایه میانی، لایه برنامه است که نمای انتزاعی از پایگاه داده را ارائه می‌دهد. آن داده‌ها را به گونه‌ای ترتیب می‌دهد که برای تحلیل مناسب باشد. این با استفاده از سرور OLAP انجام می‌شود که با استفاده از مدل ROLAP یا MOLAP پیاده‌سازی شده است.لایه بالایی، جایی است که کاربر به داده دسترسی و با آن تعامل می‌کند. این لایه نشان‌دهنده لایه مشتری جلویی است. می‌توان از ابزارهای گزارش‌دهی، پرس و جو، تحلیل یا ابزارهای استخراج داده استفاده کرد.همچنین چند نمونه از دیگر انواع معماری انبار داده در قسمت زیر آمده است:معماری رابطه‌ایاین معماری مرسوم‌ترین نوع معماری است و داده‌ها را در دیتابیس‌های relational ذخیره می‌کند. در این دیتابیس‌ها داده به کمک جداول ذخیره‌سازی می‌شود و کلیدها، جداول را به یکدیگر متصل می‌کنند. از مزایای این نوع انبارداده توانایی پاسخگویی به درخواست‌های پیچیده کاربران است. از طرف دیگر،‌ از داده‌های بدون ساختار پشتیبانی نمی‌کند و برای داده‌های با حجم بالا سرعت خوبی ندارد.معماری بر پایه فضای ابریانبارهای داده بر پایه فضای ابری به طور افزایشی محبوب شده‌اند، زیرا مقیاس‌پذیری و انعطاف پذیری را ارائه می دهند. آن‌ها معمولاً بر روی یک پلتفرم ابری مانند خدمات وب آمازون میزبانی می شوند. این معماری به سازمان ها این امکان را می دهد که بسته به نیاز خود مقیاس خود را افزایش یا کاهش دهند و فقط برای منابعی که استفاده می کنند هزینه پرداخت کنند.معماری ترکیبی (hybrid)انبارهای داده ترکیبی عناصر معماری رابطه‌ای و بر پایه فضای ابری را ترکیب می کنند. آن‌ها معمولاً شامل ذخیره داده‌های با دسترسی مکرر در یک انبار داده داخلی رابطه‌ای هستند، در حالی که داده‌هایی که کمتر به آن‌ها دسترسی دارند در یک انبار داده بر پایه فضای ابری ذخیره می‌شوند. این معماری به سازمان‌ها اجازه می دهد تا عملکرد و مقرون به صرفه بودن را متعادل کنند.معماری دریاچه داده (Data Lake)معماری دریاچه داده شامل ذخیره‌سازی داده‌ها در یک ساختار مسطح، بدون طرح واره از پیش تعریف شده است. این معماری برای ذخیره داده های بدون ساختار، مانند داده های پست های رسانه های اجتماعی بهینه شده است. دریاچه های داده را می توان به عنوان منبع داده برای انبارهای داده استفاده کرد و به سازمان ها اجازه می دهد حجم زیادی از داده های بدون ساختار را ذخیره و تجزیه و تحلیل کنند. این‌کار پیچیدگی پیاده‌سازی را برای مهندسان داده کاهش می‌دهد.معماری فدرال (Federated)انبارهای داده فدرال شامل ذخیره داده ها در مکان های فیزیکی متعدد و ارائه یک نمای یکپارچه از داده ها از طریق یک لایه انبار داده مجازی است. این معماری به سازمان ها اجازه می دهد تا داده ها را از منابع متعدد، بدون نیاز به جابجایی فیزیکی داده ها، یکپارچه کنند. همچنین نیازی به همسان بودن تمام داده‌ها وجود ندارد.همچنین انبار داده‌ها می‌توانند تعداد لایه‌های مختلفی با کاربردهای متفاوت داشته باشند که در ادامه به بررسی آن‌ها می‌پردازیم.معماری لایه‌های انبار دادهمعماری دقیق یک انبار داده از یکی به دیگری متفاوت خواهد بود. انبارهای داده می توانند ساختارهای یک، دو یا سه لایه باشند. با این حال، شاید رایج ترین آنها ساختار معماری سه لایه است که به شرح زیر است:لایه پایین، که به آن ردیف داده نیز گفته می شود، که در آن داده ها به انبار عرضه می شود.لایه میانی که به آن لایه برنامه نیز گفته می شود، که در آن یک سرور OLAP داده ها را پردازش می کند.لایه بالایی، که به آن لایه ارائه نیز گفته می شود، برای کاربران نهایی با ابزارهای خاص و رابط های برنامه نویسی کاربردی (API) که برای استخراج و تجزیه و تحلیل داده ها استفاده می شوند، طراحی شده است.ابزارابزارهای ذخیره سازی داده های زیادی در بازار موجود است. در اینجا برخی از برجسته ترین آنها آورده شده است:ابزار MarkLogic:ابزار MarkLogic یک راه حل مفید برای ذخیره سازی داده است که با استفاده از مجموعه ای از ویژگی‌های سازمانی، یکپارچه سازی داده ها را آسان تر و سریع‌تر می کند. این ابزار به انجام عملیات جستجوی بسیار پیچیده کمک می کند. می تواند انواع مختلفی از داده ها مانند اسناد، روابط و ابرداده ها را پرس و جو کند. https://www.marklogic.com/product/getting-started/ ۲. ابزار Oracle:ابزار oracle پایگاه داده پیشرو در صنعت است. این طیف گسترده ای از راه حل های انبار داده را برای هر دو محل و در فضای ابری ارائه می دهد. با افزایش کارایی عملیاتی به بهینه سازی تجربیات مشتری کمک می کند. https://www.oracle.com/index.html 3. آمازون RedShift:ابزار Amazon Redshift، یک ابزار ساده و مقرون به صرفه برای تجزیه و تحلیل انواع داده ها با استفاده از SQL استاندارد و ابزارهای BI موجود است. همچنین امکان اجرای پرس و جوهای پیچیده را در برابر پتابایت داده های ساخت یافته با استفاده از تکنیک بهینه سازی پرس و جو می‌دهد. https://aws.amazon.com/redshift/?nc2=h_m1 اجزای انبار دادهچهار جزء انبارهای داده عبارتند از:مدیر بار سیستم (Load manager): مدیر بار را کامپوننت جلو نیز می گویند. با تمام عملیات مرتبط با استخراج و بارگذاری داده ها در انبار انجام می شود. این عملیات شامل تبدیل‌هایی برای آماده‌سازی داده‌ها برای ورود به انبار داده است.مدیر انبار (Warehouse manager): مدیر انبار عملیات مرتبط با مدیریت داده ها را در انبار انجام می‌دهد. عملیاتی مانند تجزیه و تحلیل داده ها را برای اطمینان از سازگاری، ایجاد نمایه ها و نماها، تولید غیرعادی سازی و تجمیع، تبدیل و ادغام داده های منبع و بایگانی و پخت داده ها انجام می دهد.مدیر پرس و جو (Query Manager): Query Manager به عنوان کامپوننت Backend نیز شناخته می شود. تمام عملیات مربوط به مدیریت پرس و جوهای کاربر را انجام می دهد. عملیات این اجزای انبار داده عبارت است از پرس و جوهای مستقیم به جداول مناسب برای زمان بندی اجرای پرس و جوها.ابزارهای دسترسی end user:این به پنج گروه مختلف مانند 1. گزارش داده 2. ابزار پرس و جو 3. ابزار توسعه برنامه 4. ابزار EIS، 5. ابزار OLAP و ابزارهای داده کاوی طبقه بندی می شود.کاربردهادر اینجا برخی از رایج‌ترین نمونه‌های دنیای واقعی انبارهای داده که امروزه مورد استفاده قرار می‌گیرند آورده شده است:مراقبت های بهداشتیدر دهه های اخیر، صنعت مراقبت های بهداشتی به طور فزاینده ای به تجزیه و تحلیل داده ها برای بهبود مراقبت از بیمار، مدیریت کارآمد عملیات و رسیدن به اهداف تجاری روی آورده است. در نتیجه، دانشمندان داده، تحلیلگران داده و متخصصان انفورماتیک سلامت برای ذخیره و پردازش مقادیر زیادی از داده‌های مربوط به مراقبت‌های بهداشتی به انبارهای داده تکیه می‌کنند. نتایج این تحقیقات نشان می‌دهد که استفاده از ابزارها به معنای عملکرد کاری در سطح بالینی و مدیریتی، بهبود نسبت هزینه به فایده و کاهش ضریب زمان در عملکرد نیروی کار در خدمات سلامت است. بنابراین، این مطالعه امیدوار است که به پیشرفت تکنولوژیکی هوش محاسباتی در مراقبت های بهداشتی کمک کند. [منبع]بانکدارییک صورت‌حساب بانکی را باز کنید و احتمالاً فهرست بلندبالایی از تراکنش‌ها را خواهید دید: برداشت‌های خودپرداز، خرید، پرداخت صورت‌حساب، و غیره. در حالی که فهرست تراکنش‌ها ممکن است برای یک فرد طولانی باشد، اما برای میلیون‌ها مشتری که هر روز به خدمات بانکی متکی هستند، بسیار طولانی‌تر است. بانک‌ها به‌جای نشستن بر روی این انبوه داده‌ها، از انبارهای داده برای ذخیره و تجزیه و تحلیل این داده‌ها برای توسعه بینش‌های عملی و بهبود خدمات خود استفاده می‌کنند.افزایش درآمد خرده فروشانیکی از نگرانی‌های اصلی خرده‌فروشان میزان خرید کالا و ذخیره کالا است. امروزه، انبارهای داده به خرده‌فروشان اجازه می‌دهند تا مقادیر زیادی از اطلاعات مربوط به معاملات و مشتریان را ذخیره کنند تا به آنها در بهبود تصمیم گیری در هنگام خرید موجودی برای فروش به بازار هدف کمک کند. از طرفی خرده فروشان می توانند از انبارهای داده برای ذخیره و تجزیه و تحلیل داده های مشتری، مانند تاریخچه خرید، جمعیت شناسی و ترجیحات استفاده کنند. با تقسیم‌بندی مشتریان بر اساس این داده‌ها، خرده‌فروشان می‌توانند کمپین‌های بازاریابی هدفمند و توصیه‌های محصولی را ایجاد کنند که احتمالاً باعث جذب مجدد مشتریان شده و فروش را افزایش می‌دهند.الگوهای نگه‌داری داده در انبار داده‌هاطرح‌واره ستاره‌ای:در این طرحواره که مختص معماری رابطه‌ای است، یک مدل داده چند بعدی وجود دارد که برای سازماندهی داده ها در پایگاه داده استفاده می شود تا درک و تجزیه و تحلیل آسان باشد. طرحواره های ستاره ای را می توان در انبارهای داده، پایگاه های داده، داده ها و ابزارهای دیگر اعمال کرد. طراحی این طرح‌واره برای پرس و جو از مجموعه داده های بزرگ بهینه شده است.طرحواره دانه برفیطرح واره دانه های برف یک مدل داده چند بعدی است که بسط طرح ستاره ای است. در آن جداول ابعاد به جداول کوچکتر تقسیم می شوند. طرحواره‌های دانه‌ی برف معمولاً برای هوش تجاری و گزارش‌دهی در انبارهای داده OLAP، داده‌ها و پایگاه‌های داده رابطه‌ای استفاده می‌شوند. در طرح دانه های برف، مهندسان جداول را به زیر بعد های منطقی تقسیم می کنند. این امر مدل داده را پیچیده تر می کند، اما کار با آن برای تحلیلگران، به ویژه برای انواع داده های خاص، می تواند آسان تر باشد.طرحواره fact constellationاین طرحواره گروهی از جداول واقعی متفاوت است که تعداد کمی جداول ابعادی مشابه دارند. می‌توان آن را به‌عنوان گروهی از طرح‌واره‌های ستاره‌ای متعدد نشان داد و بنابراین، طرحواره کهکشان نیز نامیده می‌شود.منابع: https://www.guru99.com/data-warehousing.html https://link.springer.com/chapter/10.1007/978-3-642-23544-3_6 https://aws.amazon.com/data-warehouse https://www.coursera.org/articles/data-warehouse https://dl.acm.org/doi/abs/10.1145/285070.285080 https://link.springer.com/book/10.1007/978-3-662-65167-4