多语言持久性数据库处理

Posted

技术标签:

【中文标题】多语言持久性数据库处理【英文标题】:Polyglot persistence database handling 【发布时间】:2017-01-09 07:10:40 【问题描述】:

首先,我是开发 android 的新手。 为了创建我的下一个 android 应用程序(用于学习不同脚本语言的本地 eLearning 客户端),我对数据库的最佳实践有一些疑问。我的目标是,创建一个依赖于这个堆栈的 android 客户端:nodejs+express+mysql 用于用户处理(用户处理不应该是无模式的)和 MongoDB 用于数据管理(应该是无模式的,因为它可能会有所不同将来),例如用于用户活动日志的 Cassandra。

    一个用户可以在多个(私有)组中,一个组可以有多个用户(n:m),我应该通过 MySQL 实现它还是应该只依赖用户到 MySQL 和组到 NoSQL?用户将发布大量帖子,因此应将帖子保存在 NoSQL 中,因为性能(读、写)。我更喜欢第一个,最佳实践???

    我为用户登录处理阅读了许多关于“加密共享首选项”和“redisDB 用户会话”的信息。它应该有永久登录的选项。哪一种是实现Android客户端的常用或最佳实践方式(性能,处理......)?

很高兴有任何建议。

【问题讨论】:

【参考方案1】:

最初,如果您没有大量用户群,请使用 mysql。因为它非常简单且具有成熟的数据库风格。只有当你有性能瓶颈而不是初始数据库时,你才应该使用 mongo nad redis。我建议这对于使用 NOSQL 的使用应该有更好的理解。因此,选择 MySQL 并仅在需要时使用 NOSQL。

【讨论】:

以上是关于多语言持久性数据库处理的主要内容,如果未能解决你的问题,请参考以下文章

QML程序实现动态切换多语言(ListModel/ListElement中的文本的多语言处理)

在WinForm应用程序中快速实现多语言的处理--开发框架模块的整合

游戏开发中的多语言处理

iOS 学习笔记六 APP中的文字和APP名字的国际化多语言处理

lingver 多语言处理工具

[Abp 源码分析]多语言(本地化)处理