高并发数据库架构设计

¥ 500

¥ 500 匠迹众包 Technology & Programming China
6 days ago

Description

有一张表格式为:
userid----spid----状态
userid+spid 是唯一索引,不会重复
数据量有1亿左右,数据并不是固定的 会随时增加,状态会随时变动
==================================

现在要高并发下查询出一条数据
需要得到的数据是: userid+spid+状态(可用)+栏目 =未被使用过的数据

(取出一条数据后要记录下时间 用于判断多长时间后可以继续使用 比如记录:现在时间+30天 那么30天内这条数据不可用 30天后可以重复取这条数据)
同一个栏目在规定时间内不可以取到重复的数据 ( userid+spid+栏目 =不可以重复)


可以取得这样的格式:

userid1+spid1+栏目1
userid1+spid1+栏目2
userid1+spid1+栏目3

userid1+spid2+栏目1
userid1+spid2+栏目2
userid1+spid2+栏目3

userid2+spid2+栏目1
userid2+spid2+栏目2
userid2+spid2+栏目3


userid----spid 都是长整数型
栏目是整数型 但是不固定的,无法提前预知栏目数量和栏目内容
栏目数量预估有2000-5000条 (按我个人理解,栏目较多无法为栏目单独建立索引)

要求能满足高并发下 每秒最低1000次以上的数据吞吐量 且数据不可冲突 在查询取得大量数据后 速度不会衰减

查询条件((userid=1 or userid=2 or userid=3 .... 大约有1000个or条件) and 状态=可用 and 栏目=栏目1) 返回一条 userid1+spid1 这样的数据

可用常见数据库比如redis,mysql,mssql,pgsql等 不需要写软件,可只提供思路或架构方案

关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now

Similar Teleworks

¥ 0-5000 Technology & Programming 开源众包 China
1 days ago