空间数据库引擎(空间数据引擎技术)
各位老铁们好,相信很多人对空间数据库引擎都不是特别的了解,因此呢,今天就来为大家分享下关于空间数据库引擎以及空间数据引擎技术的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
Mysql数据库3种存储引擎有什么区别
MySQL常见的三种存储引擎为InnoDB、MyISAM和MEMORY。其区别体现在事务安全、存储限制、空间使用、内存使用、插入数据的速度和对外键的支持。具体如下:
1、事务安全:
InnoDB支持事务安全,MyISAM和MEMORY两个不支持。
2、存储限制:
InnoDB有64TB的存储限制,MyISAM和MEMORY要是具体情况而定。
3、空间使用:
InnoDB对空间使用程度较高,MyISAM和MEMORY对空间使用程度较低。
4、内存使用:
InnoDB和MEMORY对内存使用程度较高,MyISAM对内存使用程度较低。
5、插入数据的速度:
InnoDB插入数据的速度较低,MyISAM和MEMORY插入数据的速度较高。
6、对外键的支持:
InnoDB对外键支持情况较好,MyISAM和MEMORY两个不支持外键。
三种引擎特点如下:
1、InnoDB存储引擎
InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL5.5以后默认使用InnoDB存储引擎。
InnoDB特点:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。
如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。
2、MyISAM存储引擎
MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务,不支持外键。
MyISAM特点:插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用
3、MEMORY存储引擎
MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。
MEMORY特点:所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。
它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。
扩展资料:
mysql其余不太常见的存储引擎如下:
1、BDB:源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性
2、Merge:将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用
3、Archive:非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差
4、Federated:将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
5、Cluster/NDB:高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
6、CSV:逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个.CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。
7、BlackHole:黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继
参考资料:百度百科-存储引擎
空间数据库引擎ArcSDE
空间数据库引擎:ArcSDE9.0(arc spatial database engine);此软件被用作系统后台(Server),其优势在于能按照用户需求合理地管理大规模甚至超大规模的空间数据库,为系统前端提供高效的空间数据和复杂的空间分析服务。
选择空间数据库引擎SDE作为空间数据库管理系统,是一套管理空间数据并提供访问这些数据接口的软件,通过ArcSDE可以把地理空间数据应用到商用的关系型数据库中,SDE融入DBMS后,提供了对空间数据进行高效率操作的接口,大量用户可以同时针对同一数据进行操作,更重要的是ArcSDE客户和服务器之间的通讯建立在TCP/IP协议上,这使得ArcSDE不但能满足局域网的应用,而且能满足远程网的应用。
通过ArcSDE,能够管理具有数百万空间要素的大型空间数据集。ArcSDE对各级企业均能适用,这归功于其在客户与服务器间协同处理。ArcSDE通过TCP/IP协议,提供网络上的开放数据访问;同时,ArcSDE可运行在不同的操作系统环境中,如UNIX,Microsoft Windows的客户端与服务器端。
为了实现以关系数据库管理系统(Oracle)为基础的空间数据管理,需要使用空间数据库引擎。良好的空间数据库引擎能够为数据库的应用系统开发提供高性能的支持。ESRI公司的ArcSDE for Or-acle是一个基于Oracle的空间数据库引擎,它的空间数据管理高效而稳定,将作为本项目综合数据库的必须软件产品之一。其特点:
(1)对地理数据的开放式系统访问
ArcSDE利用开放系统结构,使得地理数据易于获得,可以把地理数据的管理与使用同其他传统的多媒体数据库合并到一个平滑的计算机环境中。利用ArcSDE的开放性,用户可以进行从简单到复杂的空间数据分析,从几个到许多地理特征的提取,访问超大规模的数据库,高效完成各种复杂任务。
(2)进行高效查询分析
ArcSDE提供一组可靠的几何处理与空间分析功能,通过此功能确定各地理实体间的相互关系,如相交于一点、共一条边界、共一个区域或一个实体包含另一个实体。而且还可以把空间分析嵌入到一个非GIS的应用程序中去。
(3)理想的空间对象模型
ArcSDE把线特征表示成一条不能自相交的线,或只能在终点相交的线;面特征表示成一个简单的多边形或多边形组合。空间对象类型有点、点集、串、线串、环、多边形、环纹多边形(donut polygon)以及网络数据,一个组合数据集称为一个层。层是具有相同形式对象类型的一组地理特征,地理特征通过图层这种空间连续策略进行索引,提高数据管理效率。
(4)快速实现过程
ArcSDE对于复杂空间查询的处理的效率体现在对次要特征(Subsecond Feature)的检索上,快速访问与检索是在C/S模式上实现的,客户端主要是响应空间分析操作,服务器则进行数据搜索和检索。这种互操作处理方法使得动态空间叠加成为可能,当大量增加客户端的时候,利用这种处理可以把客户机带来的性能下降降到最小。
(5)其他
客户端可以通过TCP/IP协议访问Arc/Info数据,不用通过传统的直接挂到数据库所在的磁盘上进行访问,这样系统就可以建立在广域网上,数据分布将不受地域限制。同时允许将一部分数据放在RDBMS中,另一部分数据以传统Arc/Info数据格式保存。而客户端的应用将以同一种方式进行访问,即数据源的不同对客户而言是完全透明的。
ArcSDE本身并没有专用数据库,而是通过与其他通用的DBMS的集成来管理空间数据。根据DBMS的类型,ArcSDE与DBMS的集成可分为两种:①与传统的关系型数据库管理系统(RDBMS)的集成,由于传统的RDBMS不支持数据类型的扩展,无法管理空间数据,只能通过ArcSDE对空间数据和空间操作进行解释和管理。②与面向对象关系数据库(OORDMS)的集成。由于面向对象的关系支持新的数据类型和函数的扩展,ArcSDE可以直接在数据库中定义空间数据类型和空间函数。于是可以通过基于SQL的函数对空间数据进行操作,并在数据库层次建立空间索引。
空间数据引擎技术
空间数据库的研究始于20世纪70年代的地图制图与遥感图像处理领域。由于传统数据库在空间数据的表示、存储和管理上存在许多问题,从而形成了空间数据库这个多学科交叉的数据库研究领域。空间数据库(Spatial Database)是指地理信息系统在计算机物理存储介质上存储的与应用相关的地理空间数据的总和,一般是以一系列特定结构的文件的形式组织在存储介质之上的(黄杏元等,2001)。
ArcSDE可看成是一个连续的空间数据模型,借助这一模型,就可用关系型数据库(RDBMS)管理空间数据库。在关型数据库中融入空间数据后,通过ArcSDE实现空间、非空间数据高效率操作服务。ArcSDE提供了应用程序接口(API),开发人员可将空间数据检索和分功能集成到自己的应用系统。ArcSDE具有如下一些特点。
1)高性能的DBMS通道。ArcSDE是多种DBMS与应用程序(如ArcGIS)的通道。它本身并非一个关系数据库或数据存储模型。它是一个能在多种DBMS平台上提供高级的、高性能的GIS数据管理的接口。
2)开放的DBMS支持。ArcSDE允许你在多种DBMS中管理地理信息:Oracle、Oracle with Spatial/Locator、Microsoft SQL Server、Informix,以及IBM DB2。
3)支持多用户GeoDatabase。ArcSDE为用户提供大型空间数据库支持,并且支持多用户编辑。
4)连续、可伸缩的数据库。ArcSDE可以支持海量的空间数据库和任意数量的用户,直至DBMS的上限。
5)GIS工作流和长事务处理。GIS中的数据管理工作流,例如多用户编辑、历史数据管理、Check-out/Check-in,以及松散耦合的数据复制等都依赖于长事务处理和版本管理。ArcSDE为DBMS提供了这种支持。
6)丰富的地理信息数据模型。ArcSDE保证了存储于DBMS中的矢量和栅格几何数据的高度完整性。这些数据包括,矢量和栅格几何图形、支持X,Y,Z和X,Y,Z,M的坐标、曲线、立体、多行栅格、拓扑、网络、注记、元数据、空间处理模型、地图、图层,等等。
7)灵活的配置。ArcSDE通道可以让用户在客户端应用程序内或跨网络、跨计算机地对应用服务器进行多种多层结构的配置方案。ArcSDE支持Windows、UNIX、Linux等多种操作系统。
对空间数据的管理职责是由GIS软件和常规DBMS软件所共同承担的。某些空间数据的管理功能,如磁盘存储、属性类型定义、查询处理,以及多用户事务处理等是由DBMS来完成的。而对空间数据索引和搜索功能主要由ArcSDE负责实现。一般在服务器端有SDE服务器处理程序、关系数据库管理系统和实际的数据。
ArcSDE通过SQL引擎执行空间数据的搜索,将满足条件的数据在服务器端缓冲区中存放并返回到客户端。缓冲区处理收集一批数据,然后将整个缓冲区中的数据发往客户端应用,而不是一次只发一条记录。在服务器端处理并缓冲的方法大大提高了效率,使网上荷载大大降低,这在应用操作数据库中成百上千万的记录时体现其优势。ArcSDE采用协作处理方式,即处理可在SDE客户库或服务器端实现,但取决于处理在哪一端更快。有的功能不需要与服务器通信,像多边形叠加和分割这类主要耗费CPU资源的任务,则由客户库来完成,可避免大量的网上操作。所有的服务器任务都是在SDE服务器所在的平台上完成的。而客户端应用则可运行于多种不同的平台和环境中,去访问同一个SDE服务器和数据库。
关于空间数据库引擎的内容到此结束,希望对大家有所帮助。