2010 г.
MapReduce и параллельные СУБД: друзья или враги?
Майкл Стоунбрейкер, Дэниэль Абади, Дэвит Девитт, Сэм Мэдден, Эрик Паулсон, Эндрю Павло и Александр Разин
Перевод: Сергей Кузнецов
Назад Содержание 7. Взаимообучение
Чему может научиться MR у СУБД? Сторонникам MR следует обучиться технологиям и методам эффективного параллельного выполнения запросов. Инженерам нужно пользоваться опытом своих предшественников, а не повторять сделанную ими работу. В подсистемах выполнения запросов параллельных СУБД имеется много хороших идей, которые следовало бы усвоить разработчикам систем MR.
Мы также полагаем, что для любой системы обработки данных полезны языки более высокого уровня. Потрясающий успех реляционных СУБД во многом связан с тем, что они позволили программистам подняться на более высокий, более продуктивный уровень абстракции, на котором они могли просто формулировать системе свои потребности, а не составлять какой-либо алгоритм, в соответствии с которым система удовлетворяла бы эти потребности. В своем исследовании мы установили, что написать код на языке SQL для каждой задачи тестового набора оказывается существенно проще, чем написать соответствующий процедурный код для MR.
Следует форсировать работы по созданию интефейсов высокого уровня поверх MR/Hadoop. Мы приветствуем Hive [21], Pig [15], Scope [6], Dryad/Linq [12] и другие проекты, прокладывающие путь в этом направлении.
Чему могут научиться у MR СУБД? У большинства СУБД далеко не идеален процесс их начальной раскрутки, от установки до приведения в готовность к выполнению запросов. Коммерческие СУБД должны развиваться по направлению к простой установке с помощью одного нажатия кнопки, правильно работающей автоматический настройке, улучшенным Web-сайтам с примерами кода, улучшенным генераторам запросов и к улучшенной документации.
Многие системы баз данных не могут работать с таблицами, сохраняемыми в файловых системах (с данными "по месту"). Рассмотрим случай, в котором СУБД используется для хранения некоторого очень крупного набора данных, над которым пользователь желает выполнить анализ с привлечением небольшого частного набора данных. Чтобы получить доступ к этому небольшому набору данных, пользователь сначала должен загрузить данные в СУБД. Если не планируется многократное выполнение анализа, было бы лучше просто указать СУБД на данные на локальном диске, а не выполнять фазу загрузки. Нет никаких разумных оснований к тому, чтобы СУБД не могла работать с данными "по месту". Хотя у некоторых систем баз данных (например, у PostgreSQL, DB2 и MS SQL Server) соответствующие возможности имеются, требуется дополнительная гибкость.
8. Заключение
Большая часть обсуждавшихся выше архитектурных различий происходит из различий в ориентации двух рассматриваемых классов систем. Параллельные СУБД преуспевают в области эффективной обработки запросов к крупным наборам данных. Системы в стиле MR отличаются в областях сложной аналитики и ETL. Системы одного класса никогда не блещут достоинствами в ситуациях, выигрышных для систем другого класса. Поэтому эти две технологии являются взаимодополняющими, и мы полагаем, что MR-системы, выполняющие ETL, займут место систем предварительной обработки данных для СУБД.
Для решения многих сложных аналитических проблем требуются возможности, обеспечиваемые системами обоих классов. Следовательно, нужны интерфейсы между системами MR и СУБД, позволяющие каждой системе делать то, к чему она лучше всего пригодна. Может оказаться гораздо эффективнее использовать такую гибридную систему, чем пытаться реализовать все приложение целиком на основе только СУБД или MR. Другими словами, чем "умнее" программное обеспечение, тем лучше.
9. Благодарность
Эта работа частично поддерживалась грантами Национального научного фонда США CRI-0707437, CluE-0844013 и CluE-0844480.
10. Литература
- Abadi, D.J., Madden, S.R., and Hachem, N. ColumnStores vs. RowStores: How Different Are They Really? In Proceedings of the SIGMOD Conference on Management of Data. ACM Press, New York, 2008. Имеется перевод на русский язык: Дэниэль Абади, Сэмюэль Мэдден, Набил Хачем. СУБД с хранением данных по столбцами и по строкам: насколько они отличаются в действительности?
- Abadi, D.J., Marcus, A., Madden, S.R., and Hollenbach, K. Scalable Semantic Web Data Management Using Vertical Partitioning. In Proceedings of the 33rd International Conference on Very Large Databases, 2007.
- Abadi, D.J. ColumnStores For Wide and Sparse Data. In Proceedings of the Conference on Innovative Data Systems Research, 2007.
- Abouzeid, A., Bajda-Pawlikowski, K., Abadi, D.J.,
Silberschatz, A., and Rasin, A. HadoopDB: An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads. In Proceedings of the Conference on Very Large Databases, 2009.
- Boral, H. et al. Prototyping Bubba, a highly parallel database system. IEEE Transactions on Knowledge and Data Engineering 2, 1 (Mar. 1990), 4–24.
- Chaiken, R., Jenkins, B., Larson, P., Ramsey, B.,
Shakib, D., Weaver, S., and Zhou, J. SCOPE: Easy and Efficient Parallel Processing of Massive Data Sets. In Proceedings of the Conference on Very Large Databases, 2008.
- Dean, J. and Ghemawat, S. MapReduce: Simplified data processing on large clusters. In Proceedings of the Sixth Conference on Operating System Design and Implementation (Berkeley, CA, 2004).
- DeWitt, D.J. and Gray, J. Parallel database systems: The future of high-performance database systems. Commun. ACM 35, 6 (June 1992), 85–98. Имеется перевод на русский язык: Дэвид Девитт, Джим Грэй. Параллельные системы баз данных: будущее высоко эффективных систем баз данных.
- DeWitt, D.J., Gerber, R.H., Graefe, G., Heytens, M.L., Kumar, K.B., and Muralikrishna, M. GAMMA - A High Performance Dataflow Database Machine. In Proceedings of the 12th International Conference on Very Large Databases. Morgan Kaufmann Publishers, Inc., 1986, 228–237.
- Englert, S., Gray, J., Kocher, T., and Shah, P. A Benchmark of NonStop SQL Release 2 Demonstrating Near-Linear Speedup and Scaleup on Large Databases. Sigmetrics Performance Evaluation Review 18, 1 (1990), 1990, 245–246.
- Fushimi, S., Kitsuregawa, M., and Tanaka, H. An Overview of The System Software of A Parallel Relational Database Machine GRACE. In Proceedings of the 12th International Conference on Very Large Databases,
Morgan Kaufmann Publishers, Inc., 1986, 209–219.
- Isard, M., Budiu, M., Yu, Y., Birrell, A., and Fetterly, D. Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks. SIGOPS Operating System Review 41, 3 (2007), 59–72.
- Monash, C. Some very, very, very large data
warehouses. In NetworkWorld.com community
blog, May 12, 2009.
- Monash, C. Cloudera presents the MapReduce bull case. In DBMS2.com blog, Apr. 15, 2009.
- Olston, C., Reed, B., Srivastava, U., Kumar, R., and Tomkins, A. Pig Latin: A not-so-foreign language for data processing. In Proceedings of the SIGMOD Conference. ACM Press, New York, 2008, 1099–1110.
- Patterson, D.A. Technical perspective: The data center is the computer. Commun. ACM 51, 1 (Jan. 2008), 105.
- Pavlo, A., Paulson, E., Rasin, A., Abadi, D.J., DeWitt, D.J., Madden, S.R., and Stonebraker, M. A comparison of approaches to large-scale data analysis. In Proceedings of the 35th SIGMOD International Conference on Management of Data. ACM Press, NewYork, 2009, 165–178. Имеется перевод на русский язык: Эндрю Павло, Эрик Паулсон, Александр Разин, Дэниэль Абади, Дэвид Девитт, Сэмюэль Мэдден, Майкл Стоунбрейкер. Сравнение подходов к крупномасштабному анализу данных.
- Stonebraker, M. and Rowe, L. The Design of Postgres. In Proceedings of the SIGMOD Conference, 1986, 340–355.
- Stonebraker, M. The Case for Shared Nothing. Data Engineering 9 (Mar. 1986), 4–9.
- Teradata Corp. Database Computer System Manual,
Release 1.3. Los Angeles, CA, Feb. 1985.
- Thusoo, A. et al. Hive A Warehousing Solution Over a MapReduce Framework. In Proceedings of the Conference on Very Large Databases, 2009, 1626–1629.
Назад Содержание
|
|