我即将开发一个主要存储用户加密数据的应用程序。借助 AES 密钥对每条数据进行加密,该密钥本身使用每个授权用户的公共 RSA 密钥进行加密。
鉴于非加密数据的数量可以忽略不计(可能只有用户登录、一些日期和外键),我想知道诸如 PostgreSQL 或 MySQL 之类的“标准 DBMS”是否是一个不错的选择。
实际上,这些 DBMS 已针对处理不同类型的数据(文本、整数、日期等)、索引、过程演算、聚合等进行了优化。
就我而言,我将存储的绝大多数数据将是大块文本(或者可能是二进制数据)。大部分所需的演算将在解密后在客户端进行处理。
因此,我也无法解析我的数据。所以即使我有一个巨大的数据库,它也不能被称为“大数据”。但是,我想知道 MongoDb、MemSQL 或其他什么不是更准确的选择。如果不是,那么最好的 DBMS 以及将其用于我的目的的最佳方式是什么?
换句话说,我认为每个 DBMS 都必须做出牺牲才能在最重要的特性上更高效。我也认为上面详述的案例并不是那么随意。所以我假设有很多我不需要的功能(或者我不能使用,例如 FULLTEXT 搜索)。另一方面,我可能需要“标准 DBMS”丢弃的功能。