内存数据库到底有多快?

简介: 并发量太高的应用中(比如10分钟内插入300w条记录),数据库往往难堪重负,在没有银子实现服务器集群/负载均衡/分布式存储的情况下,可以尝试一下把数据库做一个临时副本全部放在内存中处理,完成操作后,再同步到硬盘的物理数据库中。

 

并发量太高的应用中(比如10分钟内插入300w条记录),数据库往往难堪重负,在没有银子实现服务器集群/负载均衡/分布式存储的情况下,可以尝试一下把数据库做一个临时副本全部放在内存中处理,完成操作后,再同步到硬盘的物理数据库中。

那么,把数据库放在内存中到底有多快? 晚上抽空试了一下:

步骤1:先用Ramdisk之类的工具,划出一块内存当作虚拟硬盘.

步骤2:
先在sql2005中新建一个空库db,然后分离,把分离后的数据库文件复制到虚拟硬盘中,并附加回数据库,至此完成数据库在内存中的建立。

步骤3:
建一个测试表Test

 

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif Code
USE [db]
GO
/****** 对象:  Table [dbo].[Test]    脚本日期: 06/15/2009 21:55:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Test](
 
[ID] [bigint] IDENTITY(1,1NOT NULL,
 
[Name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
 
CONSTRAINT [PK_Test] PRIMARY KEY CLUSTERED 
(
 
[ID] ASC
)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ONON [PRIMARY]
ON [PRIMARY]

 


步骤4:直接在查询界面中写一个循环,插入300w条数据,见下图:
img_79fb33fba38ff270304c40ceded158a3.jpg

在我的笔记本上,共耗时6分50秒,数据库文件增加到近280M

步骤5:测试一次性查询300w条数据 

img_193b4a603a1962c13e9264ffaf230356.jpg

 耗时2分钟2秒

步骤6:清空表后,对Name字段做索引,重复插入300w数据

img_f75490c4f3a568d66029cfae81c45f97.png

步骤6:重复刚才的查询

img_c871bdbe1700cac8bbd79f9e01efc1fc.png
 

 

目录
相关文章
|
存储 缓存 负载均衡
Tair分布式缓存
Redis很好用,相比memcached多了很多数据结构,支持持久化。但是在很长一段时间里,原生是不支持分布式的。后来就出现了很多redis集群类产品,Tair是其中胜出的优秀作品之一。 所以Tair的特性都是一些集群的特性,比如:容错、解决单点故障、跨机房管理、多集群管理、支持副本等。总而言之,是redis的高可用版本。
1495 1
Tair分布式缓存
|
存储 缓存 负载均衡
《深入分布式缓存》之“关于Tair哪些事儿”
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
2206 0
|
存储 消息中间件 NoSQL
深入了解Redis:高性能的内存数据库
深入了解Redis:高性能的内存数据库
|
4月前
|
存储 缓存 NoSQL
GuavaCache、EVCache、Tair、Aerospike 缓存框架比较
**摘要:** Guava Cache、EVCache、Tair 和 Aerospike 是不同的缓存解决方案。Guava Cache 是轻量级的本地缓存,适用于Java应用,提供丰富的配置选项和自动加载功能。EVCache 基于 Memcached,适合分布式场景,高并发访问。Tair,阿里巴巴的分布式缓存,支持多种数据结构,适用于大规模系统。Aerospike 是高性能NoSQL数据库,结合缓存和持久化,适用于低延迟和大数据量的场景。选择时要考虑应用场景、性能需求和数据规模。
GuavaCache、EVCache、Tair、Aerospike 缓存框架比较
|
5月前
|
存储 缓存 NoSQL
Redis是一种高性能的内存数据库,常用于高并发环境下的缓存解决方案
【6月更文挑战第18天】**Redis摘要:** 高性能内存数据库,擅长高并发缓存。数据存内存,访问迅速;支持字符串、列表等多元数据类型;具备持久化防止数据丢失;丰富命令集便于操作;通过节点集群实现数据分片与负载均衡,增强可用性和扩展性。理想的缓存解决方案。
75 1
|
存储 消息中间件 缓存
Redis:高性能、多功能的内存数据库
Redis是一种开源、高性能的内存数据库,广泛应用于缓存、会话存储、实时数据处理等场景。本文将介绍Redis的特点、优势和主要功能,探讨它在不同应用领域中的应用场景,以及如何充分利用Redis提升应用性能和可靠性。无论是小型应用还是大规模的分布式系统,Redis都是一个值得关注的强大工具。
151 0
|
6月前
|
存储 分布式计算 NoSQL
基于内存的分布式NoSQL数据库Redis(五)数据存储与RDB设计
基于内存的分布式NoSQL数据库Redis(五)数据存储与RDB设计
196 0
|
6月前
|
NoSQL 安全 Java
基于内存的分布式NoSQL数据库Redis(六)AOF设计
基于内存的分布式NoSQL数据库Redis(六)AOF设计
198 0
|
6月前
|
存储 NoSQL 关系型数据库
基于内存的分布式NoSQL数据库Redis(一)介绍与安装
基于内存的分布式NoSQL数据库Redis(一)介绍与安装
204 0
|
存储 消息中间件 canal
分布式缓存详解
分布式缓存详解
398 0
分布式缓存详解