我有 MySQL 数据库,在其中存储以下 BLOB(包含 JSON 对象)和 ID(对于此 JSON 对象)。JSON 对象包含很多不同的信息。比如说,“城市:洛杉矶”和“州:加利福尼亚”。
目前大约有 50 万条这样的记录,但它们正在增长。而且每个 JSON 对象都很大。
我的目标是在 MySQL 数据库中进行搜索(实时)。说,我想搜索所有“状态”到“加利福尼亚”和“城市”到“旧金山”的 JSON 对象。
我想利用 Hadoop 来完成这项任务。我的想法是会有“工作”,它从 MySQL 中获取 100 条记录(行),根据给定的搜索条件验证它们,返回符合条件的那些(ID)。
优点缺点?我知道有人可能认为我应该为此使用简单的 SQL 功能,但问题是 JSON 对象结构非常“重”,如果我把它作为 SQL 模式,将至少有 3-5 个表连接,其中(我试过了,真的)让人很头疼,而且构建所有正确的索引占用 RAM 的速度比我想象的要快。;-) 即便如此,必须分析每个 SQL 查询以使用索引,否则使用全扫描它确实很痛苦。有了这样的结构,我们唯一的“向上”方式就是垂直缩放。但我不确定这对我来说是不是最好的选择,因为我看到 JSON 对象将如何增长(数据结构),而且我看到它们的数量也会增长。:-)
帮助?有人可以指出如何做到这一点的简单例子吗?这有意义吗?我错过了什么重要的东西吗?
谢谢你。