欢迎来到天天文库
浏览记录
ID:49457850
大小:1.26 MB
页数:49页
时间:2020-03-01
《内存数据库解决方案.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、传统物理数据库的一些性能瓶颈n磁盘随机I/O性能远低于内存操作nCheckpoint处理造成系统性能非线性APPn基于SQL解析的应用接口大大增加了简单数据库操作的开销WriteReadnClient/Server通信方式增加了事务处DiskRDBMS理延迟n对所有数据均采用B+树索引无法满足特定数据快速检索的要求1内存数据库的优势n完全基于共享内存的数据存储和处理,性能高APPn避免Checkpoint中断系统运行。WriteReadn基于内存结构API函数调用的访问接口,适合计费系统大量简单数据关系操作。MemoryRDBMSn尽量减少跨进程通信和数据上锁操作。As
2、yncFirstTimeWriteReadn支持定制的索引算法,采用特定hash索引算法大大提高操作速度。DiskRDBMS数据库插入5W条测试TPS关联查询10W条TPS结果测试结果Oracle203秒246条/秒885秒112条/秒内存数据库28.32秒1785条/秒170秒588条/秒内存数据库与Oracle物理数据库性能对比(5~7倍)2内存数据库架构ApplicationRDBMSClientNetWorkServerDaemonCacheServerProxiesAdmin/UtilityApplicationCodesProgramsMRDBMSDATAM
3、emoryDataStoreMGRLIBDataStoreSubdaemonApplicationProgramsDataTablesLogIndexsBuffersSystemTablesCheckPointFilesLogFiles3ü共享内存的管理表的管理事务管理相关工具介绍HA4AIX内存管理相关知识介绍nAIX(AdvancedInteractiveeXecutive)共享内存的管理32位:2^32=4G64位:2^64=16TnAIX相关函数介绍ShmgetGetsasharedmemorysegmentShmatAttachesasharedmemorys
4、egmentoramappedfiletothecurrentprocessShmdtDetachesasharedmemorysegmentShmctlControlssharedmemoryoperationsn环境变量EXTSHM32位使用,否则内存块有限制v_pinshm是否常驻内存5共享内存的管理(1)概念介绍lExtent是通过shmget分配,shmat映射到本进程地址空间的内存块。如右图每一行表示一个Extent。lSlot将Extent按照指定大小均分为若干个大小相等的块,每个块就称为Slot。Slot为SMDB的基本存储单元。可以通过(chunkid
5、,extentid,slotid)确定slot的位置。lChunk由slot大小相同的一个或多个extent组成的一个逻辑集合。按照其存放的数据类型,Chunk类型可以分为两类:1存放表的记录数据;2其他数据类型(包括HASH数组,表的索引结点等)6共享内存的管理(2)Chunk,Extent,Slot关系Chunk1,slotsize=24,extentnum=5E0s0s1s2s3s4s5s6s7……E1s0s1s2E2s0s1s2s3s4s5s7………………………………E3s0s1s2s3s4s5s6s7…E4s0s1s2s3s4s5s6s7…………………..Ch
6、unk2,slotsize=52,extentnum=4E0s0s1s3s4…………E1s0s1s2E2s0s1s2s3s4…………E3s0s1s2…7共享内存的管理(3)n创建内存数据库空间●新建chunkmdalter–addchunk说明:该命令表示新添加一个chunk。Chunkid为目前SMDB最大的chunkID+1。Chunkid的编号由1开始。参数:SlotSize:chunk中每个slot的大小,4字节~256Mchunktype:chunk的类型,目前只定义了四种类型:0存放hash数组,索引结点1存放表的记
7、录数据2该chunk可以存放除表记录外的其他数据3专用于存放serial8共享内存的管理(4)n创建内存数据库空间u●添加extentmdalter–addextent说明:向指定的chunk中添加extent。新添加的extent大小为chunk的slotsize*(slotnum+8字节的slot头信息)。参数:chunkid:表示需要添加extent的chunk。slotnum:新添加的extent中包含slot的个数。在一个extent中,slot的个数最大为2^24。每个extent最大为2G
此文档下载收益归作者所有