Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# net中的内存数据库_C#_.net_Asp.net_Sql_C# 3.0 - Fatal编程技术网

C# net中的内存数据库

C# net中的内存数据库,c#,.net,asp.net,sql,c#-3.0,C#,.net,Asp.net,Sql,C# 3.0,我有一个.net应用程序,我想在其中使用内存中的数据结构。请告诉我与物理数据库相比它是如何工作的。内存中的数据库与普通数据库一样工作,但内容存储在内存中而不是磁盘上。这会导致应用程序关闭时所有数据丢失。必须在每次启动时重新生成并填充数据 可以在内存模式下运行的数据库示例如下。请注意,SQLite是一个进程内数据库,您可以将其托管在应用程序中。内存内数据库(IMDB)是一个内存驻留关系数据库,通过在主内存中存储和操作数据消除了磁盘访问。IMDB通常具有严格的基于内存的体系结构和直接的数据操作 一点

我有一个.net应用程序,我想在其中使用内存中的数据结构。请告诉我与物理数据库相比它是如何工作的。

内存中的数据库与普通数据库一样工作,但内容存储在内存中而不是磁盘上。这会导致应用程序关闭时所有数据丢失。必须在每次启动时重新生成并填充数据

可以在内存模式下运行的数据库示例如下。请注意,SQLite是一个进程内数据库,您可以将其托管在应用程序中。

内存内数据库(IMDB)是一个内存驻留关系数据库,通过在主内存中存储和操作数据消除了磁盘访问。IMDB通常具有严格的基于内存的体系结构和直接的数据操作

一点相关的东西:

您可以使用,因为它是一个分布式内存对象缓存系统。 Memcached是内存中的键值存储,用于存储来自数据库调用、API调用或页面呈现结果的小块任意数据(字符串、对象)


使用memcached,您可以看到所有服务器都在查看相同的虚拟内存池。这意味着给定的项目总是从整个web集群中的同一位置存储和检索

在描述内存数据库时,有两个误区需要纠正

1) “内存数据库的持久性不如磁盘数据库”。虽然对于更简单的内存数据库是这样,但企业级内存数据库在提交事务时会将数据保护到磁盘。只有当磁盘臂移动时,磁盘才会变慢。如果你仔细想想,你可以在几秒钟内在一个高速磁盘上写入一个千兆字节。如果您的数据库发生如此大的变化,您每天可以实时保护TB的数据。这使得诸如HANA和Starcounter之类的ram数据库与磁盘数据库一样安全,同时速度也非常快。您可以随时关闭电源,检查点和恢复的工作原理与基于磁盘的数据库相同


2) “内存数据库要快得多。”内存数据库之所以更快,仅仅是因为它们在内存中运行。如果将传统数据库放在RAM驱动器上,则不会发生什么事情。事实上,现在的缓存通常超过数据库大小,它们已经驻留在内存中。内存数据库如此高效的原因是数据库映像被视为主内存而不是辅助内存。这意味着现代RAM数据库在读取数据时不会将页面从磁盘映像复制到RAM。在现代服务器中,网络很快成为瓶颈。这在RAM数据库中是可以避免的。第二个原因是,当您为比磁盘快数千倍的介质开发某些东西时,往往不会在微秒和毫秒内增加开销,因为消耗纳秒的东西会立即可见。在磁盘的规模上,没有理由在此级别优化代码。当RAM价格突然下降(自2000年以来下降了98%)时,您不能仅仅重写整个数据库引擎。

这里有一个教程来访问一个数据库引擎。您可以使用SQL语句进行预测分析、地理空间分析、文本分析和模糊搜索。您可以免费下载此DB(HANA,express edition),并在内存超过8GB的计算机中的虚拟机中使用它,或者将其安装到MS Azure中的VM中

在这里,您需要进一步澄清您的实际目标。听起来您好像在考虑数据集:缩写词
IMDB
可能是正确的,但毫无用处。随着谷歌快速生成指向电影评级网站的URL。不过无意冒犯。除了2)与Sql server Express相比,您没有显著的IPC成本,也没有Sql格式的序列化和Sql查询解释。