В продолжение размышлений о мегасоцсети будущего, необходимо отдельно рассмотреть один технический момент - концепцию хранения данных. Для того чтобы алгоритмы мегасоцсети по обработке пользовательских данных могли максимально быстро и эффективно проводить статистический анализ, эти данные должны быть упорядочены, структурированы и проиндексированы для поиска.
Проблема в том, что далеко не все пользовательские данные хранятся в базах данных, хоть как-то адаптированных для статистического анализа. Множество информации хранится на локальных компьютерах. И концепция её хранения – в виде файлов, разложенных по папкам - не подходит для указанной задачи анализа. Эта концепция появилась много десятилетий назад и имеет ряд минусов, обусловленных ограничениями, которые накладывались на файловую систему в то время. Эти ограничения связаны, во-первых, с форматами файлов как единиц хранения информация и, во-вторых, со структурой хранения самих файлов.
Структура хранения файлов на компьютере представляет собой дерево папок, иерархически выстроенных в виде «веток» этого дерева. Причём дерево папок создаётся самим пользователем в соответствии с его представлениями о порядке и потребностью в нём. В силу предоставленной пользователю свободы создавать и именовать папки как ему вздумается, такой бардак принципиально нельзя упорядочить. Иерархия папок – жёсткая. Это значит, что один файл физически может храниться только в одной папке. В связи с этим возникает проблема с файлами, которые по своим свойствам могут быть помещены не в одну, а сразу в несколько папок – например, файл с литературным произведением, относящимся одновременно нескольким жанрам. Если для каждого из жанров на компьютере создана отдельная папка, то приходится сохранять копии такого файла в каждую из папок. Но если в файл нужно внести какие-то изменения, делать это нужно во всех копиях. Что порождает проблему поддержания всех копий в актуальном состоянии.
Таким образом, система «один файл – только в одной папке» позволяет создавать только одну иерархию данных. Но таких иерархий может быть множество – в зависимости от количества параметров, характеризующих тот или иной тип данных. И система хранения данных мегасоцсети должна позволять гибко выстраивать эти иерархии по множеству параметров. Для удобства пользователя. И, конечно, для алгоритмов мегасоцсети по поиску и обработки данных.
В этом смысле концепция папок не подходит для этих задач. Папка – это внешний объект по отношению к файлу, внешние метаданные для него. Концептуальное решение состоит в том, чтобы поместить метаданные внутрь файла.
Конечно, внутри файлов и сейчас содержатся различные метаданные. Но они разнородны для разных типов файлов, они не всегда корректно либо вообще не заполняются. Во многих ли mp3- файлах, например, отражены все данные о наименовании автора, жанре, альбоме и годе его выхода?
Более того, для некоторой информации, важной для статистического анализа, в настоящее время просто отсутствуют стандартные форматы файлов. Покупки, перемещения, путешествия и т.п. - вся эта информация существует в виде элементов web-интерфейса, либо же в глубинах баз данных соответствующих сайтов.
Таким образом, в рамках новой концепции хранения данных каждая единица информации должна содержать в себе множество метаданных, которые бы позволяли вписывать эту единицу данных не в одну жёсткую иерархию, а вообще в любую, которая только потребуется. Метаданные должны обеспечивать индексацию единицы информации по всевозможным параметрам для целей её поиска и анализа алгоритмами мегасоцсети.
Структура метаданных должна быть стандартизирована и унифицирована. Должна быть выделена категория наиболее важных метаданных, обязательных к заполнению в момент создания и изменения единицы информации. И это функция должна быть автоматизирована, поскольку без этого корректный статистический анализ будет невозможен. Заполнение менее важных метаданных может отдаваться на откуп пользователям. На самообучающийся алгоритм мегасоцсети должен осуществлять проверку правильности такого ручного заполнения и, по возможности, делать корректировки. Кроме этого, пользователи должны быть простимулированы корректно заполнять метаданные. Для решения этой задачи будет выстроена система положительных / отрицательных рейтингов, описанных ранее в предыдущих статьях этого цикла, посвящённого мегасоцсети будущего.
Такой стандартизированный подход к наполнению метаданных приведёт в перспективе к универсализации самих единиц информации. Не только метаданные, но и сами данные будут иметь единую структуру. Это приведёт к отмиранию понятия расширения файла и даже самого файла. На смену файлам будет разработан универсальный формат мегафайла. Возможно это будет не совсем файлом в привычном понимании этого слова. Но суть не в названии. Это будет новая единица данных мегасоцсети, содержащая в себе всю необходимую информацию для полноценного статистического анализа и, главное, заточенная на его проведение. При этом формат мегафайла должен быть расширяемым и адаптируемым - для отражения в нём новых типов данных, которые в перспективе могут появиться в будущем.
Отдельной задачей выступит перекладка исторической информации из имеющихся файлов и баз данных в мегафайлы мегасоцсети. Эта работа будет масштабной и трудоёмкой - как оцифровка бумажных книг в настоящее время. Но здесь возможна хоть какая-то автоматизация.
В результате посредством мегафайлов мегасоцсеть получит огромный упорядоченный массив всевозможных данных о своих пользователях, максимально приспособленный для обработки и анализа. Ну а кто и в каких целях будет использовать эту возможность – отдельная тема.