İlk ilgili kısmı cevap verecektir ben yapıyorum nasıl bir MongoDB kullanıyorum. Bahsettiğin fikirlerle çeviriyorlardı ama çabuk aynı nedenle ile bellek çözümleri (Memcached, Redis) üzerinde çarpı işareti. Benim son çözüm ilişkisel DB veya MongoDB gibi NoSQL ya indi. Dürüst olmak gerekirse, benim projenin ölçekte, ben sağlam DB türleri arasındaki performans karşılaştırması hakkında düşünmüyordu.
Benim özel özellik sayesinde "yol haritası" Ben açıkça Mongo normalize yapısına sayesinde, bir kullanıcı sınıfını tanımlamak zorunda kalmadan kullanıcı "nesne" ile uğraşırken daha "cepten" tarzı yaklaşım Mongo ile gitmeye karar verdi. Ben de sadece bu işleme, MySQL için yapılabilirdi aynı anlama jsonverilerin daha "nesne gibi" benim için ve flaskyani user = getUserFromMongobana o zaman tıpkı yapabilirsiniz Python bir dicti veren user['first_name']. Kodlar belows bu basitliği açıklayacaktır:
(Bir şekilde böyle ... SQL Rails basit veritabanı etkileşim için komutları yazmak zorunda değil duygu idi)
MongoDB My kullanıcı nesne veri

Son olarak, olarak ben kullanıcı girişi nasıl idare , ben Wit.ai kavramını benimsemiş context. Ben bunlar tam bunu nasıl bilmiyorum, ama bir contextbana oluyor konuşma amacının türüdür. Bir yığın gibi kullanımı, ve en kısa akım bağlam yapıldığı gibi, kullanıcının içerik verileri kapalı pop. Bot aldığı her mesaj için, programın geçerli bağlamı almak ve akışını yönetecek. Kullanıcı bot anlamıyor şey söylüyor, çünkü bilinmeyen bir hata (taşıma istisnalar), büyük olasılıkla oluşunca, ben temizlemek contextde veri.
MongoDB hakkında iyi bölüm I şekli olabilir contextancak benim istediğim ve sadece bir nesne olarak davranın. Basit bir gibidir {name: yelp-search, stage:ask-for-user-location}, ben karmaşık olanlar çok, o yapı üzerinde inşa edilebileceğini düşünün. Tabii ki, bir yığını uygulaması contextkarmaşık geçmiş atfen karmaşık konuşma uğraşmaz.
Ben Github projemi koymak bunu bakmak istiyorum.