2016-11-15 8 views
0

У нас есть клиент с TitanDB графической базой данных, у нас есть база данных MySQL, которая должна будет получать данные от Titan и, возможно, в будущих возвращаемых данных Титан. 1: Я никогда не работал с TitanDB, поэтому я ищу, как мне получить данные из него в MySQL, либо через C#, PassThrough Connection, либо каким-либо другим способом. Данные не будут огромными рядами - но многие небольшие куски менее 10 000 записей за один раз и примерно один или два раза в день.Как экспортировать данные из TitanDB в MySQL C# или через Interconnect или Passthru

Может ли кто-нибудь предоставить некоторую краткую релевантную информацию о том, как именно выполнить эту задачу?

ответ

1

Похоже, вы спрашиваете, как перенести данные из базы данных MySQL в TitanDB. К сожалению, в данный момент автоматизированного способа сделать это не существует.

Структура базы данных графов очень отличается от структуры СУБД. Например, с MySQL вы запрашиваете свои данные, но с Titan (и Tinkerpop API, который он реализует) вы проходите ваши данные.

Если вы хотите написать свой собственный протокол миграции, вы можете использовать API Titans REST. Таким образом, вы можете записать его на C# или что угодно. Более подробную информацию о разговоре с сервером можно найти here.

Я и некоторые коллеги построили диаграмму знаний, Grakn на вершине Титана. Это включает поддержку миграции, поэтому, если вам интересно, вы можете опробовать нас here.

+0

Я не пытаюсь перенести данные (мне просто нужно определенное количество данных каждый день - рабочий список производственных данных) - однако мигрирующий Титан может быть чем-то, что делается в будущем, поскольку клиент выразил желание замените Титан. Я посмотрю на обе ваши ссылки. – Ken

+1

У меня проблемы с буквально неправильным образом :). К сожалению, ответ по-прежнему «не автоматизирован». Тем не менее, вы могли бы пройти по графу, используя API REST. При правильных траверсах вы можете контролировать, как вы проходите через график и тем самым контролируете количество данных, с которыми вы имеете дело каждый раз. –

+0

Думаю, что я обязательно буду выглядеть в REST API, мой опыт работы с графическим dbs составляет около 1 недели (так что мне не хватает многого). Я не уверен, почему мой клиент даже использует эту базу данных, так как из-за того, что мне кажется, это больше для определения отношений данных, а не для сохранения и управления заданиями. – Ken

0

Вы можете использовать Mizo - это реализация Spark RDD для Titan на HBase, которая обходит основной API HBase и анализирует HBase internal data files (называемый HFiles).

Я проверил его на довольно крупном масштабе - график Титана с сотнями миллиардов элементов, весом около 25 ТБ.

Поскольку он не полагается на API сканирования, который предоставляет HBase, он намного быстрее. Например, подсчет ребер в упомянутом графе занимает около 10 часов с использованием 100 искровых сердечников.

+0

Я посмотрю на это, чтобы посмотреть, что мне нужно сделать. – Ken