Путь Дэвида Девитта к его нынешнему положению одного из ведущих в мире теоретиков по базам данных начался практически случайно. «Я прошел лишь один курс по системам управления базами данных в вузе, — вспоминает Девитт. — Этого оказалось достаточно для того, чтобы меня назначили новым преподавателем по базам данных, стоило мне появиться в Университете штата Висконсин уже в качестве дипломированного специалиста (а это было в середине 70-х)».
Девитт согласился и с этого момента стал заниматься базами данных. Проработав более трех десятков лет в этой области, Девитт стал соавтором трех параллельных СУБД, одна из которых была продана корпорации NCR, опубликовал свыше 100 технических статей и был отмечен массой наград.
В прошлом году Девитт покинул стены университета. Но вскоре вернулся, уже в звании Microsoft Technical Fellow и главы нового исследовательского центра Microsoft Jim Gray Systems Lab, финансируемого в основном на средства его нового работодателя.
Девитт рассказал об этом центре во время своего выступления на недавней ежегодной конференции Professional Association for SQL Server.
Из более чем 2,5 тыс. участников конференции многие приехали на нее, чтобы узнать о недавно выпущенном Microsoft SQL Server 2008 или послушать о планах корпорации, которая рвется на рынок средств бизнес-анализа старшего класса, где сейчас доминируют игроки, подобные Teradata. Работает корпорация и над масштабированием своих средств работы с базами данных; в частности, на конференции демонстрировался инструментарий, который позволит администраторам баз данных управлять пулами из сотен баз данных SQL Server одновременно.
Что касается Девитта, этот центр для него — возможность проводить исследования, аналогичные тем, которыми он занимался последние 32 года, но при этом видеть, как результаты его научной деятельности значительно быстрее воплощаются в коммерческие продукты.
Одновременно центр обеспечивает Девитту финансовую поддержку, которую теоретические исследования в области баз данных в последние годы потеряли.
«Исследования в области оптимизации обработки запросов в параллельных системах — не то направление, занимаясь которым вы можете обратиться в Национальный научный фонд США или в DARPA и получить деньги», — заметил Девитт, добавив, что настоящие инновации в области баз данных теперь рождаются уже не в академических институтах, а в компаниях отрасли.
«В старые добрые времена можно было бы сколотить небольшую группу аспирантов и создать с ними прототип реальной СУБД. Сейчас системы стали настолько сложными, что такими силами сделать что-либо практически невозможно, — продолжил он. — Кроме того, самые умные студенты из-за границы больше не приезжали сюда для защиты диссертаций, а предпочитали уходить в инвестбанки. Это одна из причин, почему я ушел из университета».
Девитт не прочь попытаться в чем-то повторить успех своего хорошего друга, легенду в области баз данных Майкла Стоунбрейкера.
Профессор одновременно Калифорнийского университета в Беркли и Массачусетского технологического института, Стоунбрейкер известен своим ключевым вкладом в создание двух известных СУБД, Ingres и Postgres. Первая из них легла в основу Microsoft SQL Server, Sybase Adaptive Server Enterprise и еще нескольких популярных программных продуктов, а вторая воплотилась в современной СУБД категории Open Source.
Не менее важно и то, что Стоунбрейкер создал целую череду компаний, которые способствовали выводу на рынок этих СУБД, а также целого ряда не столь известных продуктов. К их числу относится и его последняя компания, Vertica Systems, производитель столбцовых систем хранения данных.
«Моя цель — сократить путь от исследований до производства, — сказал Девитт, подчеркнув, что он работает именно в подразделении Microsoft Data and Storage Division, которое выпускает SQL Server, а не в Microsoft Research. — Мы, безусловно, стремимся быстро и адекватно реагировать на требования рынка».
Центр получил свое название в честь Джима Грея, еще одного легендарного специалиста по базам данных. Грей не только помогал создавать продукты вроде SQL Server, он также сотрудничал со многими учеными-теоретиками, в том числе и с Девиттом, который назвал Грея своим близким другом и учителем.
Сейчас в лаборатории Microsoft Jim Gray Systems Lab работает три человека. «Самое большее у нас будет 10-15 специалистов», — заметил Девитт. В целом результаты исследований, проводимых лабораторией, будут принадлежать университету, но Microsoft получает возможность, хотя и не эксклюзивную, бесплатно пользоваться патентами. Результаты выполненных аспирантами исследований, при которых не используются конфиденциальные наработки Microsoft, будут принадлежать самим аспирантам.
Девитт в первую очередь намерен сосредоточиться на оптимизации выполнения запросов.
«В этом направлении за последние три десятка лет сделано очень мало», — считает он. Кроме того, Девитт планирует опробовать подход, предусматривающий ‘малую оптимизацию’ (little optimization), ‘малое выполнение’ (little execution) и т. д.
Если все пойдет удачно, результаты этих исследований могут быть реализованы в новых устройствах хранилищ данных Microsoft, получивших кодовое название Madison, которые, по заверению Девитта, создавались без его участия. Эти устройства должны быть выпущены в первой половине 2010 года.
Еще одна крайне интересующая Девитта проблема — это создание очень больших кластеров баз данных. В этой связи он имеет твердое мнение по поводу параллельной системы хранения данных MapReduce, используемой Google для индексации Web.
В своем блоге нынешней весной Девитт совместно со Стоунбрейкером заявили, что MapReduce — «не оптимальный и не новый тип баз данных, в ней отсутствуют возможности, которые администраторы баз данных и разработчики считают само собой разумеющимися, и она совершенно не стоит той шумихи, которая вокруг нее была поднята».
В ответ на эти заявления на авторов обрушилась масса критиков, большая часть которых утверждала, что MapReduce нельзя сравнивать со стандартной СУБД, поскольку она оптимизирована для выполнения одной, строго определенной задачи — быстро просеивать огромное количество беспорядочных, неструктурированных данных, — с которой даже самые крупные современные СУБД справиться не в состоянии.
Девитт сохраняет спокойствие. Он вспоминает, что генеральный директор корпорации Oracle Ларри Эллиссон пытался добиться его увольнения в 80-х годах после того, как тесты на производительность баз данных, созданные Девиттом, показали отставание Oracle по основным критериям. «Я не думаю, что он в достаточной степени понимает, какие полномочия у него есть, а каких нет», — пошутил Девитт. Что касается упреков в пристрастном отношении к MapReduce, Девитт и Стоунбрейкер так отвечают на них в своем блоге: «Хотим лишь сказать, что мы не испытываем никакой личной неприязни к MapReduce. Она не убила нашу собаку, не украла наш автомобиль и не пыталась соблазнить наших дочерей».
Девитт допускает, что MapReduce недостаточно хорошо масштабируется, отмечая ее возможность продолжать обрабатывать запросы, даже если конкретный сервер вышел из строя, чего большинство кластерных баз данных делать не могут.
Но он остается при своем мнении, которое состоит в том, что истинная реляционная СУБД даст намного больше эффективных и хороших возможностей. В скором времени Девитт обещает выпустить исследование, подтверждающее его точку зрения.