Добрый день!
Подскажите, пожалуйста, как и в какой бд (РСУБД или NoSQL) хранить схемы для множества чат-ботов. Под схемой я подразумеваю граф диалога, взаимосвязи между опциями и следующими/предыдущими сообщениями. Ну т.е. заранее сконструировали диалог для бота и запустили, таких ботов/диалогов может быть много.
В первом приближении, я подумал, что нормальным вариантом будет поле типа JSON в Postgreql с примерно таким содержимым:
{
1:{
"answer1":{
"text":"blah blah",
"photo":"picture.jpg",
"to":2
},
"answer1":{
"text":"blah blah",
"photo":"picture.jpg",
"to":3
},
"answer1":{
"text":"blah blah",
"photo":"picture.jpg",
"to":4
}
},
2:{
"answer1":{
"text":"blah blah",
"photo":"picture.jpg",
"to":5
}
}
}
А таблица с ботом примерно такая
bot_id | description | token_hash | schema(вот про это поле я и говорю)
Т.е. много разных ботов с разными диалогами.
Но напрягает, что при взаимодействии с таким ботом придется раскручивать всю эту структуру, как будто контроль теряется. + я не уверен, как ORM работает с полем JSON.
Подскажите, пожалуйста, кукую бд и схему хранения данных лучше выбрать?
Приму любые мысли, критику, да что угодно :)