作为 ASP.NET 站点的 ACL 的小型数据库系统
Posted
技术标签:
【中文标题】作为 ASP.NET 站点的 ACL 的小型数据库系统【英文标题】:Small database system as ACL for ASP.NET site 【发布时间】:2011-10-19 12:57:21 【问题描述】:我有一个基于 Web 的 ASP.net 平台,每天为成千上万的客户提供服务。每分钟大约 100 个连接。这可能会增加 10 倍。
当客户端连接到系统时,我可以唯一地识别它们,并且我需要一个可以查询 2 件事的简单数据库: 1)这个ID有效吗? 2) 数据库总共有多少个ID?
如果 ID 无效,我通常会在第一次看到 ID 时将其添加到数据库中。
我已经尝试过 Microsoft SQL CE - 但我现在发现会话过多的问题。我想避免使用专用的 SQL 系统(SQL Server Express 等)并坚持使用更“嵌入式”的选项。
你们会推荐什么系统?
【问题讨论】:
【参考方案1】:看看 SQLite,它是一个“基于文件”的 SQL 服务器,当没有主要的高级查询时,性能甚至会更好。
http://www.sqlite.org/
【讨论】:
我查看了 SQLite,发现了一些缺点:1) .NET 绑定适用于 2.0 - 我使用的是 4.0(不是主要版本)2) 阅读了很多关于仅使用文件锁的 SQLite,我将同时读/写=死锁:( 在我使用的产品(防火墙/网关)中,我们使用 SQLite 进行日志记录,并通过不在每个请求都写入来解决问题,而是以特定的时间间隔写入数据库/磁盘。 好的。数据是通过查询(从内存中)立即可用还是您看到结果有延迟? 读取时,如果数据不在要写入磁盘的提示上,我会读取数据库。例如,如果每 500 毫秒将任何排队的数据写入磁盘,您总是可以延迟重新读取。问题是,刚刚提交的数据需要立即读取的频率如何? 但老实说..我真的会用 jMeter 测试性能,例如看看你是否确实遇到了性能问题。例如,SQLite 每秒可以处理超过 20,000 次较小的 INSERT INTO 插入以上是关于作为 ASP.NET 站点的 ACL 的小型数据库系统的主要内容,如果未能解决你的问题,请参考以下文章