常用数据库的特点、应用场景信息整理

常用数据库的特点、应用场景信息整理

2023年6月30日发(作者:)

常⽤数据库的特点、应⽤场景信息整理关系型数据库

关系数据库,是建⽴在关系模型基础上的数据库,借助于集合代数等数学概念和⽅法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均⽤关系模型来表⽰。关系模型是由埃德加·科德于1970年⾸先提出的,并配合"科德⼗⼆定律"。现如今虽然对此模型有⼀些批评意见,但它还是数据存储的传统标准。标准数据查询语⾔SQL就是⼀种基于关系数据库的语⾔,这种语⾔执⾏对关系数据库中数据的检索和操作。 关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。 实体关系模型(Entity-Relationship Model),简称E-R Model是陈品⼭(Peter P.S Chen)博⼠于1976年提出的⼀套数据库的设计⼯具,他运⽤真实世界中事物与关系的观念,来解释数据库中的抽象的数据架构。实体关系模型利⽤图形的⽅式(实体-关系图(Entity-Relationship Diagram))来表⽰数据库的概念设计,有助于设计过程中的构思及沟通讨论。 关系模型就是指⼆维表格模型,因⽽⼀个关系型数据库就是由⼆维表及其之间的联系组成的⼀个数据组织。当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。⾮关系型的数据库

NoSQL,泛指⾮关系型的数据库。随着互联⽹web2.0⽹站的兴起,传统的关系数据库在应付web2.0⽹站,特别是超⼤规模和⾼并发的SNS类型的web2.0纯动态⽹站已经显得⼒不从⼼,暴露了很多难以克服的问题,⽽⾮关系型的数据库则由于其本⾝的特点得到了⾮常迅速的发展。 NoSQL,指的是⾮关系数据库。由上⾯的叙述可以看到关系型数据库中的表都是存储⼀下格式化的数据结构,每个元组字段的组成都是⼀样的,即使不是每个元组都需要所有的字段,但数据库会为每个元组都分配所有的字段,这样的结构可以便于表与表之间进⾏连接等操作,但从另⼀个⾓度来说它也是关系数据库性能瓶颈的⼀个因素。⽽⾮关系数据库以键值对存储,它的结构不固定,每⼀个元组可以有不⼀样的字段,每个元组可以根据需要增加或减少⼀些⾃⼰的键值对,这样就不会局限于固定的结构,可以减少⼀些时间和空间的开销。

NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",是⼀项全新的数据库⾰命性运动,早期就有⼈提出,发展⾄2009年趋势越发⾼涨。NoSQL的拥护者们提倡运⽤⾮关系型的数据存储,相对于铺天盖地的关系型数据库运⽤,这⼀概念⽆疑是⼀种全新的思维的注⼊。开源数据库

在Linux这种开放源代码的操作系统已经逐渐被越来越多的企业应⽤时,在基础软件平台的另⼀端,开源数据库开始显⼭露⽔。近2年来,美国⼀些⼤企业纷纷采⽤开放源码数据库,它们往往在总部采⽤商业数据库,⽽在分⽀机构的Linux服务器上采⽤开源产品。这些数据库除了费⽤便宜,还各有独到之处。与商业化产品相⽐,开源数据库结构简单,但功能不简单,读取操作快捷,易管理,甚⾄不需要全职的管理员。嵌⼊式数据库

在嵌⼊式系统中,对数据库的操作具有定时限制的特性,这⾥把应⽤于嵌⼊式系统的数据库系统称为嵌⼊式数据库系统或嵌⼊式实时数据库系统(ERTDBS)。 可靠性要求是⽏庸置疑的,嵌⼊式系统必须能够在没有⼈⼯⼲预的情况下,长时间不间断地运⾏。同时要求数据库操作具备可预知性,⽽且系统的⼤⼩和性能也都必须是可预知的,这样才能保证系统的性能。嵌⼊式系统中会不可避免地与底层硬件打交道,因此在数据管理时,也要有底层控制的能⼒,如什么时候会发⽣磁盘操作,磁盘操作的次数,如何控制等。底层控制的能⼒是决定数据库管理操作的关键。 ⽬前嵌⼊式软件系统开发的挑战之⼀,体现在对各种数据的管理能否建⽴⼀套可靠、⾼效、稳定的管理模式,嵌⼊式数据库可谓应运⽽⽣。 嵌⼊式数据库是嵌⼊式系统的重要组成部分,也成为对越来越多的个性化应⽤开发和管理⽽采⽤的⼀种必不可少的有效⼿段。 嵌⼊式数据库⽤途⼴泛,如⽤于消费电⼦产品、移动计算设备、企业实时管理应⽤、⽹络存储与管理以及各种专⽤设备,这⼀市场⽬前正处于⾼速增长之中。 举简单例⼦,⼿机原来只⽤来打电话、发短信,现在⼿机增加了很多新的功能,⽐如彩信、⾳乐、摄影、视频等等,应⽤的功能多了,系统就变得复杂。内存数据库

内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要⾼出⼏个数量级,将数据保存在内存中相⽐从磁盘上访问能够极⼤地提⾼应⽤的性能。同时,内存数据库抛弃了磁盘数据管理的传统⽅式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并⾏操作⽅⾯也进⾏了相应的改进,所以数据处理速度⽐传统数据库的数据处理速度要快很多,⼀般都在10倍以上。内存数据库的最⼤特点是其"主拷贝"或"⼯作版本" 常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。显然,它要求较⼤的内存量,但并⾮任何时刻整个数据库都存放在内存,即内存数据库系统还是要处理I/O。 内存数据库是以牺牲内存资源为代价换取数据处理实时性的,内存数据库和磁盘数据库都是当今信息社会⾥每个企业所必须的关系型数据库产品,磁盘数据库解决的是⼤容量存储和数据分析问题,⽽内存数据库解决的是实时处理和⾼并发问题。两者的存在是相辅相成的,内存数据库的事务实时处理性能要远强于磁盘数据库。但是相对的,他的数据安全⽅⾯还没有达到磁盘数据库⽐肩的地步。 内存数据库将物理内存作为数据的第⼀存储介质,⽽将磁盘作为备份。随着电信业务的发展,系统对实时性的要求和对业务灵活修改的要求⾮常⾼,在此种情况下对于内存数据库的需求也越来越⾼。磁盘数据库的做法是将数据存⼊内存中进⾏处理,这种⽅式的可管理性及数据安全可靠性都没有保障。⽽内存数据库正是针对这⼀弱点进⾏了改进。 实际上,内存数据库并不是⼀项时髦技术,其出现于上世纪60年代末,但由于市场的需求原因在90年代后期才开始发展。作为新⼀代数据库,Altibase产品已经⾛向混合型数据库,其版本Altibase 4.0已经有⼀套⾃带的磁盘数据库,⽤户⼀旦购买了Altibase的内存数据库,就⽆须再购买磁盘数据库。它把热数据(经常被使⽤的、访问⽐较⾼的、经常要运算的数据)放在内存数据库⾥,⽽把历史性数据放在磁盘数据库⾥,可为⽤户进⼀步减少投资。 对于内存数据库⽽⾔,可以将同样数据库的部分内容存放于磁盘上,⽽另⼀部分存放于内存中。⽤户可以选择将数据存储在内存表中以提供即时的数据访问。若访问时间不紧急或数据存于内存中所占空间过⼤时,⽤户可将这些数据存⼊磁盘表中。 ⽐如,在⼿机⽤户开始拔打电话时,如果应⽤基于内存数据库技术的混合数据管理引擎,就通过内存表检索其服务选项并⽴即验证⽤户⾝份,⽽将通话清单和计费清单归档到磁盘表中。从⽽,达到了速度与资源使⽤的平衡。 内存数据库的技术,⼀个很重要的特点,是可以对内存中的数据实现全事务处理,这是仅仅把数据以数组等形式放在内存中完全不同的。并且,内存数据库是与应⽤⽆关的,显然这种体系结构具有其合理性。内存引擎可以实现查询与存档功能使⽤的是完全相同的数据库,同时内存表与磁盘表也使⽤的是完全相同的存取⽅法。存储的选择,对于应⽤开发者⽽⾔是完全透明的。 对于内存数据库⽽⾔,实现了数据在内存中的管理,⽽不仅仅是作为数据库的缓存。不像其它将磁盘数据块缓存到主存中的数据库,内存数据库的内存引擎使⽤了为随机访问内存⽽特别设计的数据结构和算法,这种设计使其避免了因使⽤排序命令⽽经常破坏缓存数据库性能的问题。通过内存数据库,减少了磁盘I/O,能够达到了以磁盘I/O 为主的传统数据库⽆法与其相⽐拟的处理速度。 因此,内存数据库技术的应⽤,可以⼤⼤提⾼数据库的速度,这对于需要⾼速反应的数据库应⽤,如电信、⾦融等提供了有⼒⽀撑。

ACCESS数据库类型

关系型数据库管理系统特点

ACCESS是⼩型数据库、桌⾯数据库。 ACCESS中的数据存储在⽂件系统内,不适合海量数据的存储。 容易操作,使⽤⼴,成本低。 Access能够存取 Access/Jet、Microsoft SQL Server、Oracle(甲⾻⽂软件公司),或者任何 ODBC 兼容数据库内的资料。 微软发布,结合了 Microsoft Jet Database Engine 和 图形⽤户界⾯两项特点,是 Microsoft Office的成员之⼀。Access的优点 存储⽅式单⼀ Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库⽂件种,便于⽤户的操作和管理。 ⾯向对象 Access是⼀个⾯向对象的开发⼯具,利⽤⾯向对象的⽅式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将⼀个应⽤系统当作是由⼀系列对象组成的,对每个对象它都定义⼀组⽅法和属性,以定义该对象的⾏为和外国,⽤户还可以按需要给对象扩展⽅法和属性。通过对象的⽅法、属性完成数据库的操作和管理,极⼤地简化了⽤户的开发⼯作。同时,这种基于⾯向对象的开发⽅式,使得开发应⽤程序更为简便。 界⾯友好、易操作 Access是⼀个可视化⼯具,是风格与Windows完全⼀样,⽤户想要⽣成对象并应⽤,只要使⽤⿏标进⾏拖放即可,⾮常直观⽅便。Access能够导⼊和导出数据,对早期版本Access中保存和打开的窗体和报表重新进⾏了设计,使得共享信息⽐以前更轻松。 集成环境、处理多种数据信息 Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和⽣成器⼯具,极⼤地提⾼了开发⼈员的⼯作效率,使得建⽴数据库、创建表、设计⽤户界⾯、设计数据查询、报表打印等可以⽅便有序地进⾏。整合范围⼴泛的数据源,Access⽀持多种数据库格式,其中包括可扩展标记语⾔XML,OLE,开放式数据库连接ODBC以及Microsoft Windows SharePoint服务。 Access⽀持ODBC Access⽀持ODBC(开发数据库互连,Open Data Base Connectivity),利⽤Access强⼤的DDE(动态数据交换)和OLE(对象的联接和嵌⼊)特性,可以在⼀个数据表中嵌⼊位图、声⾳、Excel表格、Word⽂档,还可以建⽴动态的数据库报表和窗体等。Access还可以将程序应⽤于⽹络,并与⽹络上的动态数据相联接。利⽤数据库访问页对象⽣成HTML⽂件,轻松构建Internet/Intranet的应⽤。 强⼤的⾃动更新属性 强⼤的⾃动更新属性,在更改表中的字段属性后,有控件绑定到这个属性的所有窗体或报表都可以⾃动更新。 设计WEB页的⼯具功能更强⼤ 设计WEB页的⼯具功能更强⼤,Access2003能够在WEB上发布窗体和报表,并能够将指定的信息源定到记录源,以显⽰,更新和处理数据库中的数据。

ACCESS的缺点 ⽹站访问频繁,经常达到100⼈左右的在线的时候性能就会急剧下降。 记录数过多,⼀般记录数达到10万条左右的时候性能就会急剧下降。 数据储存量⼩安全性不够⾼,加了⽤户级密码容易破解。 C/S结构下对服务器要求很⾼,否则容易造成MDB损坏并发数255,但是对⾼强度操作适应性差,如果服务器不够好,⽹络不够好,编程的⽅法不够好,6-7个⼈同时访问就能导致MDB损坏或者并死. 不能将VBA代码开发的软件系统直接编译成EXE可执⾏⽂件,不能脱离ACCESS或者ACCESS RUNTIME环境,该环境相对其他软件体积较⼤(50M左右)。 Microsoft Access数据库有⼀定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。使⽤场景

ACCESS,⼀般做⼩型⽹站⽤,性能⼀般。ASP+ACCESS最常见的⼩型⽹站组合,⽅便快速。 适合数据量少的应⽤,在处理少量数据和单机访问的数据库时是很好的,效率也很⾼。SQL Server数据库类型

关系数据库管理系统 是⼀个全⾯的数据库平台,使⽤集成的商业智能 (BI) ⼯具提供了企业级的数据管理。特点

1.真正的客户机/服务器体系结构。 在这种体系结构中,包括多台计算机,其中处理应⽤程序,请求服务的计算机称客户机,处理数据库的计算机称为服务器。 2.图形化⽤户界⾯,使系统管理和数据库管理更加直观、简单。 提供了表、视图和查询定义的图形界⾯,在Query Analyze的图形界⾯中使⽤SQL语⾔,服务器和数据库的⽤户配置的图形化界⾯。 3.丰富的编程接⼝⼯具,为⽤户进⾏程序设计提供了更⼤的选择余地。 SQLServer提供了丰富的应⽤程序接⼝来访问服务器的数据,主要的访问⽅法有:ODBC API、OLE DB、Transact-SQL和DB-Library,客户机可以通过这些API作为动态连接库来使⽤,并通过客户端的⽹络库与SQLServer服务器通信。 Server与Windows NT完全集成,利⽤了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与microsoft BackOffice产品集成。 与NT的安全性系统集成,利⽤NT的安全机制为服务器服务,利⽤NT的性能监测器和使⽤MS Index Server;与MS BackOffice产品集成,如MS IIS、MS Exchange Server等结合。SQLServer可以设置为⽤Exchange接收和发送电⼦邮件,⽤户可以通过邮件信息向SQLServer发送查询请求,查询结果能够通过电⼦邮件返回给⽤户。 5.具有很好的伸缩性,可跨越从运⾏Windows 95/98的膝上型电脑到运⾏Windows 2000的⼤型多处理器等多种平台使⽤。 MS提供了⼀种单⼀的数据库引擎,可以⽤于Windows95到Windows2000⼤字节对称多处理器集群的各种场合。NT和SQL不仅⽀持IntelCPU,⽽且⽀持DEC Alpha CPU等处理器。 6.对Web技术的⽀持,使⽤户能够很容易地将数据库中的数据发布到Web页⾯上。 在Web Assistant中可以将数据库表中的数据引出来,还可以将HTML中的数据引⼊到数据库中。SQLServer的数据可以⾃动发⾏到Web页上;⽤户可以通过⼀个普通的浏览器来查询存储在SQLServer中的信息,因此可以⽤存储在SQLServer中的信息创建动态Web页。 Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。 SQL Server2000中包括吸取和分析汇总数据以进⾏联机分析处理(OLAP)的⼯具,还包括⼀些⼯具可⽤于直观地设计数据库并通过English Query来分析数据。

Sqlserver2000依然属于⼩型数据库,2005开始才能算是⼤型数据库。 SQLSERVER 简单,界⾯友好,WINDOWS平台下的好选择 ,SqlServer后与SYBASE也⽐较接近的。 SQL Server 2012的优势 1.安全性和可⽤性⾼。 2.超快的性能。 3.企业安全性。 4.快速的数据发现。 5.⽅便易⽤。 6.⾼效的数据压缩功能。 7.集成的开发环境。

SQL Server的劣势 1开放性。只能运⾏在微软的windows平台,没有丝毫的开放性可⾔。 2可伸缩性,并⾏性。并⾏实施和共存模型并不成熟,很难处理⽇益增多的⽤户数和数据卷,伸缩性有限。 3性能稳定性。SQLServer当⽤户连接多时性能会变的很差,并且不够稳定。 4使⽤风险。SQLServer完全重写的代码,经历了长期的测试,不断延迟,许多功能需时间来证明。并不⼗分兼容早期产品。使⽤需要冒⼀定风险。 5客户端⽀持及应⽤模式。只⽀持C/S模式。 6 安全性。Oracle的安全认证获得最⾼认证级别的ISO标准认证,⽽SQL Server并没有获得什么安全认证。使⽤场景

主机操作系统为window,主要⽤于web⽹站的建设,承载中⼩型web后台数据。 在租赁的虚拟主机中⼀般会预安装SQL Server作为数据库软件。

MySQL数据库类型

开源的关系型数据库 ⼩型关联式数据库管理系统 MySQL是⼀个快速的、多线程、多⽤户和健壮的SQL数据库服务器。特点 其体积⼩ 总体拥有成本低 开放源码 可运⾏在Windows平台和⼤多数的Linux平台上 快速,轻量级,易于扩展,免费,跨平台 可以同时处理⼏乎不限数量的⽤户; 处理多达50,000,000以上的记录; 命令执⾏速度快,也许是现今最快的; 简单有效的⽤户特权系统。优点 使⽤C和C++编写,并使⽤了多种编译器进⾏测试,保证源代码的可移植性。 ⽀持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。 为多种编程语⾔提供了API。这些编程语⾔包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 ⽀持多线程,充分利⽤CPU资源。 既能够作为⼀个单独的应⽤程序应⽤在客户端服务器⽹络环境中,也能够作为⼀个库⽽嵌⼊到其他的软件中。 提供多语⾔⽀持,常见的编码如中⽂的GB 2312、BIG5,⽇⽂的Shift_JIS等都可以⽤作数据表名和数据列名。 提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 ⽀持多种存储引擎。 价格便宜:Mysql是开源的,所以你不需要⽀付额外的费⽤。 MySQL使⽤标准的SQL数据语⾔形式。 Mysql对PHP有很好的⽀持,PHP是⽬前最流⾏的Web开发语⾔。 Mysql是可以定制的,采⽤了GPL协议,你可以修改源码来开发⾃⼰的Mysql系统。 性能很出⾊。纯粹就性能⽽⾔,MySQL是相当出⾊的,因为它包含⼀个缺省桌⾯格式MyISAM。MyISAM数据库与磁盘⾮常地兼容⽽不占⽤过多的CPU和内存。MySQL可以运⾏于Windows 系统⽽不会发⽣冲突,在UNIX或类似UNIX系统上运⾏则更好。你还可以通过使⽤64位处理器来获取额外的⼀些性能。因为MySQL在内部⾥很多时候都使⽤64位的整数处理。缺点 缺乏⼀些存储程序的功能,⽐如MyISAM引擎联⽀持交换功能 ⽐较的难学;MySQL不完全⽀持陌⽣的关键词; MySQL也缺乏⼀些存储程序的功能; 使⽤缺省的ip端⼝,但是有时候这些ip也会被⼀些⿊客闯⼊; 使⽤myisam配置,如果你不慎损坏数据库,结果可能会导致所有的数据丢失。使⽤场景

⼴泛地应⽤在Internet上的中⼩型⽹站中。 LAMP(Linux+Apache+Mysql+Php)。 mysql的优势在于免费,如果业务系统数据库不是极其庞⼤,可⽤mysql。DB2数据库类型

关系型数据库系统特点

开放性 能在所有主流平台上运⾏(包括windows)。最适于海量数据。 可伸缩性,并⾏性 具有很好的并⾏性。DB2把数据库管理扩充到了并⾏的、多节点的环境。数据库分区是数据库的⼀部分,包含⾃⼰的数据、索引、配置⽂件、和事务⽇志。数据库分区有时被称为节点。 安全性 获得最⾼认证级别的ISO标准认证。 客户端⽀持及应⽤模式 跨平台,多层结构,⽀持ODBC,JDBC等客户。 操作 操作简单,同时提供GUI和命令⾏,在windowsNT和unix下操作相同。 使⽤风险 在巨型企业得到⼴泛的应⽤,向下兼容性好。风险⼩。使⽤场景

性能较⾼适⽤于数据仓库和在线事物处理。DB2 超⼤型数据库,与ORACLE类似 ,数据仓库和数据挖掘相当的不错,特别是集群技术可以使DB2的可扩性能达到极致。

Oracle数据库类型

关系型数据库系统特点优点 能在所有主流平台上运⾏(包括 windows)。完全⽀持所有的⼯业标准。采⽤完全开放策略。可以使客户选择最适合的解决⽅案。对开发商全⼒⽀持。 平⾏服务器通过使⼀组结点共享同⼀簇中的⼯作来扩展windownt的能⼒,提供⾼可⽤性和⾼伸缩性的簇的解决⽅案。 如果windowsNT不能满⾜需要, ⽤户可以把数据库移到UNIX中。 安全性⽅⾯,性能最⾼。 客户端⽀持及应⽤模式 ,多层次⽹络计算,⽀持多种⼯业标准,可以⽤ODBC,JDBC,OCI等⽹络客户连接式要求,可根据实际系统需求构造数据库。 采⽤标准的SQL结构化查询语⾔。 具有丰富的开发⼯具,覆盖开发周期的各阶段。 ⽀持⼤型数据库,数据类型⽀持数字、字符、⼤⾄2GB的⼆进制数据,为数据库的⾯向对象存储提供数据⽀持。 具有第四代语⾔的开发⼯具(SQL*FORMS、SQL*REPORTS、SQL*MENU等)。  具有字符界⾯和图形界⾯,易于开发。 通过SQL*DBA控制⽤户权限,提供数据保护功能,监控数据库的运⾏状态,调整数据缓冲区的⼤⼩。 分布优化查询功能。 具有数据透明、⽹络透明,⽀持异种⽹络、异构数据库系统。并⾏处理采⽤动态数据分⽚技术。 ⽀持客户机/服务器体系结构及混合的体系结构(集中式、分布式、客户机/服务器)。 实现了两阶段提交、多线索查询⼿段。 数据安全保护措施:没有读锁,采取快照SNAP⽅式完全消除了分布读写冲突。⾃动检测死锁和冲突并解决。 数据安全级别为C2级(最⾼级)。 数据库内模⽀持多字节码制,⽀持多种语⾔⽂字编码。 具有⾯向制造系统的管理信息系统和财务系统应⽤系统。 WORKGROUP/2000具有ORACLE7WORKGROUP服务器,POWER OBJECTS(图形开发环境,⽀持OS/2、UNIX、WINDOWS/NT平台。 在中国的销售份额占50%以上,市场份额⾼。  

缺点 管理维护⿇烦⼀些; 数据库崩溃后回复很⿇烦,因为他把很多东西放在内存⾥; 数据库连接要慢些,最好⽤连接池; ⼤对象不好⽤,vchar2字段太短,不够⽤; 管理员的⼯作烦,且经验⾮常重要; 对硬件的要求很⾼; 价格昂贵。使⽤场景

⼤部分企事业单位都⽤oracle,在电信⾏业占⽤最⼤的份额。 在各个⾏业中都⽤使⽤案例。

Hadoop类型

⼀个分布式系统基础架构,由Apache基⾦会所开发。

Hadoop是在分布式服务器集群上存储海量数据并运⾏分布式分析应⽤的⼀种⽅法。 Hadoop被设计成⼀种⾮常"鲁棒"的系统,即使某台服务器甚⾄集群宕机了,运⾏其上的⼤数据分析应⽤也不会中断。此外Hadoop的效率也很⾼,因为它并不需要你在⽹络间来回倒腾数据。特点

HDFS和为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。 Hadoop是⼀个能够对⼤量数据进⾏分布式处理的软件框架。但是 Hadoop 是以⼀种可靠、⾼效、可伸缩的⽅式进⾏处理的。 Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个⼯作数据副本,确保能够针对失败的节点重新分布处理。 Hadoop 是⾼效的,因为它以并⾏的⽅式⼯作,通过并⾏处理加快处理速度。 Hadoop 还是可伸缩的,能够处理 PB 级数据。 此外,Hadoop 依赖于社区服务,因此它的成本⽐较低,任何⼈都可以使⽤。 hadoop⼤数据处理的意义 Hadoop得以在⼤数据处理应⽤中⼴泛应⽤得益于其⾃⾝在数据提取、变形和加载(ETL)⽅⾯上的天然优势。Hadoop的分布式架构,将⼤数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接⾛向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎⽚任务发送(Map)到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库⾥。使⽤场景

Hadoop 的最常见⽤法之⼀是 Web 搜索。在百度主要⽤于如下场景: ⽇志的存储和统计; ⽹页数据的分析和挖掘; 商业分析,如⽤户的⾏为和⼴告关注度等; 在线数据的反馈,及时得到在线⼴告的点击情况; ⽤户⽹页的聚类,分析⽤户的推荐度及⽤户之间的关联度。Hadoop在淘宝和⽀付宝的应⽤从09年开始,⽤于对海量数据的离线处理,例如对⽇志的分析,也涉及内容部分,结构化数据等。Sybase数据库类型

关系型数据库系统,是⼀种典型的UNIX或WindowsNT平台上客户机/服务器环境下的⼤型数据库系统。特点

它是基于客户/服务器体系结构的数据库 ⼀般的关系数据库都是基于主/从式的模型的。在主/从式的结构中,所有的应⽤都运⾏在⼀台机器上。⽤户只是通过终端发命令或简单地查看应⽤运⾏的结果。 ⽽在客户/服务器结构中,应⽤被分在了多台机器上运⾏。⼀台机器是另⼀个系统的客户,或是另外⼀些机器的服务器。这些机器通过局域⽹或⼴域⽹联接起来。 客户/服务器模型的好处是: ● 它⽀持共享资源且在多台设备间平衡负载 ● 允许容纳多个主机的环境,充分利⽤了企业已有的各种系统 它是真正开放的数据库 它是⼀种⾼性能的数据库 1)可编程数据库 通过提供存储过程,创建了⼀个可编程数据库。存储过程允许⽤户编写⾃⼰的数据库⼦例程。这些⼦例程是经过预编译的,因此不必为每次调⽤都进⾏编译、优化、⽣成查询规划,因⽽查询速度要快得多。 2)事件驱动的触发器 触发器是⼀种特殊的存储过程。通过触发器可以启动另⼀个存储过程,从⽽确保数据库的完整性。 3)多线索化 Sybase数据库的体系结构的另⼀个创新之处就是多线索化。⼀般的数据库都依靠操作系统来管理与数据库的连接。当有多个⽤户连接时,系统的性能会⼤幅度下降。Sybase数据库不让操作系统来管理进程,把与数据库的连接当作⾃⼰的⼀部分来管理。此外,Sybase的数据库引擎还代替操作系统来管理⼀部分硬件资源,如端⼝、内存、硬盘,绕过了操作系统这⼀环节,提⾼了性能。使⽤场景

1、SYBASE ASE Sybase ASE 的全称是 Adaptive Server Enterprise ,是企业及数据库服务器,适合⽤于企业级OLTP(在线联机事务处理),是功能强⼤的关系数据库管理系统。 2、SYBASE ASA Sybase ASA 的全称是 Adaptive Server Anywhere,是轻量级数据库服务器,适合⽤于移动计算(PDA、带OS的⼿机等)、嵌⼊式计算(POS机、路由器等)、⼯作组级OLTP环境,特别是移动计算/嵌⼊式计算。 3、SYBASE IQ Sybase IQ 是企业级数据仓库数据库服务器,适合于DSS环境中的企业级数据仓库和数据集市。

Informix数据库类型

Informix是IBM公司出品的关系数据库管理系统(RDBMS)特点

操作简单,管理⽅便。 易于安装、配置 但是较少的系统性能分析、故障分析、跟踪⼯具是它的缺点。使⽤场景

IBM® Informix® 是 IBM 的主要数据库,适⽤于⾼容量在线事务处理(Online TransactionProcessing,OLTP)、集成的应⽤程序,以及⽬前的速度惊⼈的数据仓库/分析⼯作负载。

firebird数据库类型

关系数据库系统 开源数据库 嵌⼊式关系数据库特点

Firebird是⼀个跨平台的关系数据库系统,⽬前能够运⾏在Windows、linux和各种Unix操作系统上,提供了⼤部分SQL-99标准的功能。它既能作为多⽤户环境下的数据库服务器运⾏,也提供嵌⼊式数据库的实现。 firebird是⼀个全功能的,强⼤⾼效的,轻量级,免维护的数据库。它很容易让您从单⽤户,单数据库升级到企业级的应⽤。 给中⼩型企业提供了⼀个很好的⼯具,⼀些需要⼩的数据库的软件!

Firebird是⼀个真正的关系数据库,⽀持存储过程、视图、触发器、事务等⼤型关系数据库的所有特性; Firebird⽀持SQL92的绝⼤部分命令,并且⽀持⼤部分SQL99命令,新版Firebird 2.0对SQL99的⽀持更完整; Firebird源码基于成熟的商业数据库Interbase,有良好的稳定性,与Interbase有良好的兼容性; 不⽤考虑授权费⽤(免费),不⽤担⼼将来有⼀天你或你的客户因为使⽤盗版⽽被数据库开发商告上法庭; 发布简易,安装⽂件只有⼏M,且⾼度可定制,客户端的分发也很简单,只需⼀个DLL⽂件; Firebird的⼀嵌⼊式服务器版本,不⽤安装,直接运⾏,基于单机开发⾸选; Firebird的运⾏效率⾮常⾼; 具备⾼度可移植性,可在Linux,Unix,MacOS,Windows,Solaris系统下运⾏,⽽且数据库格式完全⼀样,不⽤修改; 开发环境⽀持良好,Delphi,C++Builder不⽤通过ODBC连接,直接⽤原⽣开发接⼝开发基于Firebird的程序。使⽤场景

免安装的嵌⼊式关系数据库

Greenplum数据库类型

专门做数据仓库的数据库 关系数据库系统 开源数据库 MPP架构特点

GREENPLUM是⼀个关系型数据库集群。它实际上是由数个独⽴的数据库服务组合成的逻辑数据库。与RAC不同,这种数据库集群采取的是MPP架构。 数据存储 当今是个数据不断膨胀的时代,采取MPP架构的数据库系统才能对海量数据进⾏管理。 Greenplum⽀持50PB(1PB=1000TB)级海量数据的存储和处理,Greenplum将来⾃不同源系统的、不同部门、不同平台的数据集成到数据库中集中存放,并且存放详尽历史的数据轨迹,业务⽤户不⽤再⾯对⼀个⼜⼀个信息孤岛,也不再困惑于不同版本数据导致的偏差,同时对于IT⼈员也降低管理维护⼯作的复杂度。 ⾼并发 随着商业智能在企业内的快速发展,BI ⽤户对信息分析平台的访问频率和查询复杂度也快速提升,因此要求相应的数据库系统对⾼并发查询进⾏⽀持。Greenplum利⽤强⼤并⾏处理能⼒提供并发⽀持。 Greenplum提供资源管理功能(workload managemnt)来管理数据库资源,利⽤资源队列管理可实现按⽤户组的进⾏资源分配,如Session同时激活数、最⼤资源值等。通过资源管理功能,可以按⽤户级别进⾏资源分配和管理⽤户SQL查询优先级别,同时也能防⽌低质量SQL(如没有条件的多表join等)对系统资源的消耗。 线性扩展 Greenplum与其他分布式⼤数据产品如Yonghong Z-DataMart⼀样采⽤了通⽤的MPP并⾏处理架构,在MPP架构中增加节点就可以线性提⾼系统的存储容量和处理能⼒。Greenplum在扩展节点时操作简单,在很短时间内就能完成数据的重新分布。 Greenplum线性扩展⽀持为数据分析系统将来的拓展给予了技术上的保障,⽤户可根据实施需要进⾏容量和性能的扩展。 ⾼性价⽐ Greenplum数据库软件系统节点基于业界各种开放式硬件平台,如SUN/HP/DELL等⼚商的PC Server等,在普通的x86 Server上就能达到很⾼的性能,因此性价⽐很⾼,相⽐于其他封闭式数据仓库专⽤系 统,Greenplum每TB的投资是前者的1/5甚⾄更低。同样,Greenplum产品的维护成本相⽐同类⼚商也低许多。 反应速度 我们⾯对的是⼀个瞬息变化的市场,谁能⾸先感知到市场的需求和变化,就能在竞争中先⾏⼀步,获得主动权,在竞争中⽴于不败之地。 Greenplum通过准实时、实时的数据加载⽅式,实现数据仓库的实时更新,进⽽实现动态数据仓库(ADW)。基于动态数据仓库,业务⽤户能对当前业务数据进⾏BI实时分析-"Just In Time BI",能够让企业敏锐感知市场的变化,加快决策⽀持反应速度。 ⾼可⽤性 Greenplum是⾼可⽤的系统,在已有案例中最多使⽤了96台机器的集群MPP环境。除了硬件级的Raid技术外,Greenplum还提供数据库层Mirror机制保护,即每个节点数据在另外的节点中同步镜像,单个节点的错误不影响整个系统的使⽤。 对于主节点,Greenplum提供Master/Stand by机制进⾏主节点容错,当主节点发⽣错误时,可以切换到Standby节点继续服务。使⽤场景

当前使⽤的 OLTP程序中,⽤户访问⼀个中⼼数据库,如果采⽤SMP系统结构,它的效率要⽐采⽤MPP结构要快得多。⽽MPP系统在决策⽀持和数据挖掘⽅⾯显⽰了优势,可以这样说,如果操作相互之间没有什么关系,处理单元之间需要进⾏的通信⽐较少,那采⽤MPP系统就要好,相反就不合适了。 既主要⽤于数据仓库。

MPP 系统

Greenplum的架构采⽤了MPP(⼤规模并⾏处理)。在 MPP 系统中,每个 SMP节点也可以运⾏⾃⼰的操作系统、数据库等。换⾔之,每个节点内的 CPU 不能访问另⼀个节点的内存。节点之间的信息交互是通过节点互联⽹络实现的,这个过程⼀般称为数据重分配(Data Redistribution) 。与传统的SMP架构明显不同,通常情况下,MPP系统因为要在不同处理单元之间传送信息,所以它的效率要⽐SMP要差⼀点,但是这也不是绝对的,因为 MPP系统不共享资源,因此对它⽽⾔,资源⽐SMP要多,当需要处理的事务达到⼀定规模时,MPP的效率要⽐SMP好。这就是看通信时间占⽤计算时间的⽐例⽽定,如果通信时间⽐较多,那MPP系统就不占优势了,相反,如果通信时间⽐较少,那MPP系统可以充分发挥资源的优势,达到⾼效率。Hibari数据库类型

⾮关系型数据库 NoSQL,开源⾮关系型数据库特点

⼀个Hibari集群是⼀个分布式系统。 ⼀个Hibari集群是线性可伸缩的。 ⼀个Hibari集群是⾼度可⽤。 所有的更新都是持久的。 所有的更新都是强⼀致性。 所有客户端操作是⽆锁的。 ⼀个Hibari集群的性能很好。 多个客户端访问协议是可⽤的。 修理后⾃动数据服务器故障。 集群配置可以在任何时间被改变。 数据是⾃动重新平衡。 异构硬件⽀持是很容易的。 极⼤地简化创建健壮的客户机应⽤程序。 表可配置的性能选项可⽤。使⽤场景

Hibari可以⽤于云计算应⽤,⽐如Web端的邮件,SNS⽹站和其他形式的服务需求。 可⽤于云计算环境中,例如 webmail、SNS 和其他要求T/P级数据存储的环境中。Hibari ⽀持 Java, C/C++,Python, Ruby, 和 Erlang 语⾔的客户端。 云计算应⽤,如Web电⼦邮件、社交⽹络服务,以及其它⽇常需要储存TB和PB级规模数据的服务。Leveldb数据库类型

google实现的⾮常⾼效的kv数据库 NOSQL,开源数据库特点

真正基于磁盘的键值存储,模型单⼀简单,数据量不受限于内存⼤⼩,数据落盘⾼可靠, LSM模型天然写优化,顺序写盘的⽅式对于新硬件ssd再适合不过了,不⾜是仅提供了⼀个库,需要⾃⼰封装server端。

⾼效的kv数据库。 开源。 LevelDB 是单进程的服务,性能⾮常之⾼,在⼀台4核Q6600的CPU机器上,每秒钟写数据超过40w,⽽随机读的性能每秒钟超过10w。 此处随机读是完全命中内存的速度,如果是不命中 速度⼤⼤下降。 LevelDb是⼀个持久化存储的KV系统,和Redis这种内存型的KV系统不同,LevelDb不会像Redis⼀样狂吃内存,⽽是将⼤部分数据存储到磁盘上。 LevleDb在存储数据时,是根据记录的key值有序存储的,就是说相邻的key值在存储⽂件中是依次顺序存储的,⽽应⽤可以⾃定义key⼤⼩⽐较函数,LevleDb会按照⽤户定义的⽐较函数依序存储这些记录。 像⼤多数KV系统⼀样,LevelDb的操作接⼝很简单,基本操作包括写记录,读记录以及删除记录。也⽀持针对多条操作的原⼦批量操作。 LevelDb⽀持数据快照(snapshot)功能,使得读取操作不受写操作影响,可以在读操作过程中始终看到⼀致的数据。 LevelDb还⽀持数据压缩等操作,这对于减⼩存储空间以及增快IO效率都有直接的帮助。使⽤场景 LevelDB可应⽤于很多场景,如⽤于⽹页浏览器存储最近存取⽹页的缓存,或⽤于操作系统存储安装包列表,或⽤于应⽤存储⽤户的设置参数。新版本的Chrome浏览器⾥部署的IndexedDB HTML5 API就是基于LevelDB打造的,Google的数据库Bigtable掌管着数百万数据表也是⽤LevelDB的,其作为存储引擎被Riak和Kyoto Tycoon所⽀持。在国内,淘宝的Tair开源Key-Value存储也已经将LevelDB作为其持久化存储引擎,并部署在线上使⽤。MongoDB类型

NoSQL数据库 开源数据库特点

特点: ⾼性能、易部署、易使⽤,存储数据⾮常⽅便。主要功能特性有: ⾯向集合存储,易存储对象类型的数据。 模式⾃由。 ⽀持动态查询。 ⽀持完全索引,包含内部对象。 ⽀持查询。 ⽀持复制和故障恢复。 使⽤⾼效的⼆进制数据存储,包括⼤型对象(如视频等)。 ⾃动处理碎⽚,以⽀持云计算层次的扩展性 ⽀持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语⾔的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序。 ⽂件存储格式为BSON(⼀种JSON的扩展)。 可通过⽹络访问。

功能: ⾯向集合的存储:适合存储对象及JSON形式的数据。 动态查询:Mongo⽀持丰富的查询表达式。查询指令使⽤JSON形式的标记,可轻易查询⽂档中内嵌的对象及数组。 完整的索引⽀持:包括⽂档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并⽣成⼀个⾼效的查询计划。 查询监视:Mongo包含⼀个监视⼯具⽤于分析数据库操作的性能。 复制及⾃动故障转移:Mongo数据库⽀持服务器之间的数据复制,⽀持主-从模式及服务器之间的相互复制。复制的主要⽬标是提供冗余及⾃动故障转移。 ⾼效的传统存储⽅式:⽀持⼆进制数据及⼤型对象(如照⽚或图⽚) ⾃动分⽚以⽀持云级别的伸缩性:⾃动分⽚功能⽀持⽔平的数据库集群,可动态添加额外的机器。使⽤场景

NoSQL产品⼴泛应⽤于各种⼤型门户⽹站和专业⽹站,⼤⼤降低了运营成本。 2010年,随着互联⽹Web2.0⽹站的兴起,NoSQL在国内掀起⼀阵热潮,其中风头便是MongoDB。 ⽹站数据:Mongo⾮常适合实时的插⼊,更新与查询,并具备⽹站实时数据存储所需的复制及⾼度伸缩性。 缓存:由于性能很⾼,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源 过载。 ⼤尺⼨,低价值的数据:使⽤传统的关系型数据库存储⼀些数据时可能会⽐较昂贵,在此之前,很多时候程序员往往会选择传统的⽂件进⾏存储。 ⾼伸缩性的场景:Mongo⾮常适合由数⼗或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置⽀持。

⽤于对象及JSON数据的存储:Mongo的BSON数据格式⾮常适合⽂档化格式的存储及查询。Redis数据库类型

开源的使⽤ANSI C语⾔编写、⽀持⽹络、可基于内存亦可持久化的⽇志型、Key-Value数据库。 NOSQL。特点

Redis的优点 性能极⾼ – Redis能⽀持超过 100K+ 每秒的读写频率。  丰富的数据类型 – Redis⽀持⼆进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。  原⼦ – Redis的所有操作都是原⼦性的,同时Redis还⽀持对⼏个操作全并后的原⼦性执⾏。 丰富的特性 – Redis还⽀持 publish/subscribe, 通知, key 过期等等特性。 Redis的主要缺点是数据库容量受到物理内存的限制,不能⽤作海量数据的⾼性能读写。使⽤场景 少量数据存储,⾼速读写访问。此类产品通过数据全部in-momery 的⽅式来保证⾼速访问,同时提供数据落地的功能,实际这正是Redis最主要的适⽤场景。 新浪微博:史上最⼤的Redis集群 Pinterest:Reids维护上百亿的相关性 Viacom:Redis在系统中的⽤例盘点SQLlite数据库类型

⼀款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计⽬标是嵌⼊式的。特点

嵌⼊式的,⽽且⽬前已经在很多嵌⼊式产品中使⽤了它,它占⽤资源⾮常的低,在嵌⼊式设备中,可能只需要⼏百K的内存就够了。它能够⽀持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语⾔相结合,⽐如Tcl、C#、PHP、Java等,还有ODBC接⼝,同样⽐起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度⽐他们都快。 ⽀持⼤多数的SQL92标准,并且可以在所有主要的操作系统上运⾏。 特点: 1. ACID事务 2. 零配置 – ⽆需安装和管理配置 3.储存在单⼀磁盘⽂件中的⼀个完整的数据库 4.数据库⽂件可以在不同字节顺序的机器间⾃由的共享 5.⽀持数据库⼤⼩⾄2TB 6. ⾜够⼩, ⼤致13万⾏C代码, 4.43M 7. ⽐⼀些流⾏的数据库在⼤部分普通数据库操作要快 8. 简单, 轻松的API 9. 包含TCL绑定, 同时通过Wrapper⽀持其他语⾔的绑定 10. 良好注释的源代码, 并且有着90%以上的测试覆盖率 11. 独⽴: 没有额外依赖 12. 源码完全的开源, 你可以⽤于任何⽤途, 包括出售它 13. ⽀持多种开发语⾔,C, PHP, Perl, Java, C#,Python, Ruby 14. ⽀持内存数据库使⽤场景

作为数据库的应⽤场景 需要数据库的⼩型桌⾯软件: 如果你开发⼀个⼩型的桌⾯软件并且需要⽤到数据库功能(⽐如某个背单词软件),那SQLite是⼀个不错的选择。因为SQLite很绿⾊⼜很短⼩精悍。 不过,由于Windows在桌⾯系统的⽐重很⼤。对于那些不考虑跨平台的开发⼈员,SQLite相对于Access来说,没有太⼤的优势。 需要数据库的⼿机软件: 眼下⼿机应⽤的发展很迅猛,相应的开发⼈员也多起来了。假如你就是⼀个⼿机应⽤程序的开发⼈员,并且你开发的应⽤需要有数据库功能(⽐如某个字典⼯具),那SQLite简直是不⼆之选。由于⼿机操作系统名⽬繁多,同时⼿机的内存偏⼩,这时候SQLite跨平台和轻量级的特长就充分发挥出来了。⽬前⼏个知名的⼿机操作系统(⽐如Android、Windows Mobile、Symbin、Palm等),SQLite都⽀持得不错。 作为数据容器的应⽤场景 所谓数据容器,就是把SQLite作为装数据的容器,充分发挥SQLite单⼀数据⽂件的优点。另外,还可以避免⾃⼰定义⼀套数据⽂件格式的⿇烦。要知道,定义⼀个完善的数据⽂件格式是难度极⼤滴(要考虑可扩展性、要考虑向下兼容、假如跨CPU架构还要考虑字节序、假如数据量⼤还要考虑性能、还要...)。 数据备份/恢复、数据导⼊/导出 某些软件系统(尤其是些企业应⽤系统)经常会碰到数据备份/恢复的功能需求。⽐如说,客户会要求你把⼀些数据(往往是业务相关的)定期备份成⼀个独⽴的数据⽂件,然后存储在别处。⼀旦软件系统⾃⾝发⽣不测,再把备份的数据恢复回来。 另外,导⼊/导出功能也是经常碰到的。⼀般是某个软件安装在多个地⽅。然后需要把⼀些数据(往往是业务相关的)从A处导出,然后在B处导⼊。 针对上述这两种需求:如果牵涉的数据⽐较⼤,就不宜使⽤XML或者Access;如果牵涉到跨平台,就⽆法使⽤Access;如果牵涉到多种数据,就不宜使⽤CSV(除⾮你能忍受多个CSV⽂件并存)。有上述条件限制的地⽅,都很适合⽤SQLite。 在线升级 这年头不联⽹的单机已经很少了,提供在线升级功能的软件会多起来。⼀般的在线升级分为两类:升级程序(⽐如Firefox⾃动升级新版本)和升级业务数据(⽐如杀毒软件升级病毒库)。这两种类型都可以使⽤SQLite来完成。把需要要升级的内容放置到SQLite数据库⽂件中,将来升级时只需下载单⼀的升级⽂件即可。 作为内存数据库的应⽤场景 在这种类型的场景中,咱们要充分发挥SQLite内存数据库的特长。由于SQLite的API设计⽐较合理,操作内存数据库和操作⽂件数据库⼏乎没啥区别,所以从⽂件型切换到内存型,代码不⽤⼤改。另外,从3.6.11开始,SQLite增加了online backup接⼝,便于在内存数据库和⽂件数据库之间进⾏数据的同步。 降低磁盘I/O开销 ⽐如开发了某个字典⼯具,词库存储在SQLite数据库⽂件中。当词库越来越⼤的时候,你可能会发现,查词的速度越来越慢。当然啦,速度慢未必是磁盘 I/O引起的。这时候你可以把程序略微修改⼀下(可能就10⾏左右的代码),在初始化时把词库载⼊内存的SQLite数据库中。然后再对⽐测试⼀下性能。如果发现性能有明显提升,那你以后就可以⼀直⽤这种⽅式了。 使⽤这个招数,要⼩⼼内存数据库对内存空间的占⽤。⽐如对于普通的PC,占⽤个⼏兆、⼗⼏兆还⾏,再⼤的话就不爽了。另外,对于⼿机操作系统,此招数效果不好(⼿机本⾝的内存就不是很⼤,⽽且存储介质的速度已经蛮快了)。 作为临时表 内存数据库⽅式,还可以⽤来充当临时表,存放⼀些临时数据。当程序的进程退出时,内存数据库就⾃然消失了,不会留下任何垃圾。  不过这种⽅式只适合于某个程序独占临时表的情形。如果临时表需要被多个进程共⽤,这招就不灵了。

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688109043a82827.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信