免费论文网 首页

qq群数据库查询工具

时间:2017-03-02 06:12:22 来源:免费论文网

篇一:QQ加群——关键词搜索

篇二:聊天软件数据库设计

表结构

数据库表结构设计方案,仅供参考

UserState(--用户状态表

Friends(--好友表

)

FriendGroups(--好友分组表

FriendType (--好友类型

Messages(--聊天记录表 )

MessagesType(--消息类型

Nation (--国家

Province (--省份 )

City (--城市

User_Groups(--用户群表

User_GroupsToUser(--群用户关联表

User_GroupsMSGContent(--群消息内容表 )

User_GroupsMSGToUser(--群消息关联表

User_GroupsMSGUserToUser(--群内私聊消息关联表 )

篇三:数据库分区

服务器集群技术方案

一、概念与定义

集群(Cluster)技术是发展高性能计算机的一项技术。它是一组相互独立的计算机,利用高速通信网络组成一个单一的计算机系统,并以单一系统的模式加以管理。其出发点是提供高可靠性、可扩充性和抗灾难性。一个集群包含多台拥有共享数据存储空间的服务器,各服务器通过内部局域网相互通信。当一台服务器发生故障时,它所运行的应用程序将由其它服务器自动接管。在大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内的任一系统上运行的服务都可被所有的网络客户使用。采用集群系统通常是为了提高系统的稳定性和网络中心的数据处理能力及服务能力。

集群分为同构与异构两种,它们的区别在于:组成集群系统的计算机之间的体系结构是否相同。集群计算机按功能和结构可以分成以下几类:

高可用性集群 High-availability (HA) clusters

负载均衡集群 Load balancing clusters

高性能计算集群 High-performance (HPC) clusters

网格计算 Grid computing

高可用性集群

一般是指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行。

负载均衡集群

负载均衡集群运行时一般通过一个或者多个前端负载均衡器将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。这样的计算机集群有时也被称为服务器群(Server Farm)。 一般高可用性集群和负载均衡集

MDCC移动开发者大会精彩荟萃 智能硬件 移动开发 产品体验 粉丝经济 社交游戏

群会使用类似的技术,或同时具有高可用性与负载均衡的特点。

Linux虚拟服务器(LVS)项目在Linux操作系统上提供了最常用的负载均衡软件。

高性能计算集群

高性能计算集群采用将计算任务分配到集群的不同计算节点而提高计算能力,因而主要应用在科学计算领域。比较流行的HPC采用Linux操作系统和其它一些免费软件来完成并行运算。这一集群配置通常被称为Beowulf集群。这类集群通常运行特定的程序以发挥HPC cluster的并行能力。这类程序一般应用特定的运行库, 比如专为科学计算设计的MPI库。

HPC集群特别适合于在计算中各计算节点之间发生大量数据通讯的计算作业,比如一个节点的中间结果或影响到其它节点计算结果的情况。

网格计算

网格计算或网格集群是一种与集群计算非常相关的技术。网格与传统集群的主要差别是网格是连接一组相关并不信任的计算机,它的运作更像一个计算公共设施而不是一个独立的计算机。还有,网格通常比集群支持更多不同类型的计算机集合。

网格计算是针对有许多独立作业的工作任务作优化,在计算过程中作业间无需共享数据。网格主要服务于管理在独立执行工作的计算机间的作业分配。资源如存储可以被所有结点共享,但作业的中间结果不会影响在其他网格结点上作业的进展。

Oracle数据库集群

Real Application Cluster(以前称作Oracle Parallel Server,OPS)用来在集群环境下实现多机共享数据库,以保证应用的高可用性。同时可以自动实现并行处理

及均分负载,还能实现数据库在故障时的容错和无断点恢复。

Real Application Cluster为大多数关键业务要求的数据库环境提供了极高的性能和完善的纠错功能。Real Application Cluster允许集群系统或大型并行系统中的多个节点共享同一物理数据库。Real Application Cluster可以自动进行负载平衡、故障修复和规划停机时间,以支持高可用性应用程序。它还显著地提高了大型数据仓库和决策支持系统的性能。通过与并行查询选件结合,它还提供了节点间的并行性和节点内的并行性,以得到更高的性能。 多服务器的Cluster(集群)结构,因其具有高可靠性、大容量共享磁盘支持、以及无断点的故障恢复,越来越受到业界的关注,越来越多的硬件厂商都相继推出自己的Cluster机种和机型,它已经成为硬件平台的一个新的发展方向。

当并行服务器中某节点失效,透明的应用程序容错能够把用户自动转接到另一节点上继续运行,应用程序在用户没有察觉的情况下继续执行。这使周期性和非周期性发生故障的系统增大了连续可用性。进程的失效可以完全透明地转移到另一节点上去,通过适当地配置,可以

指定所有查询都在客户端进行缓存,这样它们便可以在转移后的节点上重新设置。同时,还可以在没有失效时预先与容错节点建立一个连接,这样可以减少容错时在连接所花的时间。

Oracle11g Real Application Cluster 并行服务器方式有以下优点:

各服务器共享一个数据库,在正常运行时可以进行负载分担,无需考虑

应用数据的人为分割

并行服务器方式对应用完全透明,在应用程序设计和开发的过程中也不

需要进行特殊编程,简化了开发的复杂程度,同时今后系统扩展也无需修改应用程序不需要重新启动数据库核心进程,缩短了故障造成的停机时间

总结以上ORACLE RAC的功能和特点,ORACLE RAC主要具有如下好处: 1. 可伸缩性 用户或者中间层应用服务器客户,可以通过虚拟数据库服务名连接到数据库上。Oracle在集群中多个节点之间自动平衡用户负载。不同节点上的Real Application Clusters数据库实例预订所有数据库服务或者部分子集数据库服务。这使得DBA高度灵活地选定,连接到特定数据库服务的特定应用程序客户是否可以连接到某些或者全部的数据库节点。

说明:

数据库分区容器路径不可违反下列需求之一:

* 容器路径必须是有效的标准绝对路径或有效的相对路径。后者解释为相对于数

*

*

*

*

据库目录。 对于 EXTEND、REDUCE、RESIZE 和 DROP 操作,指定容器路径必须存在。 路径对于实例标识必须是可读写的(检查基于 UNIX 的系统上的文件许可权) 。 系统管理的表空间中的容器(目录)在指定为容器时必须是空的,并且不能嵌 套在其他容器以下。 一个数据库的容器不能定位在另一数据库的目录之下,并且不可以在看起来是 其他数据库的任何目录之下。这将任何 SQLnnnnn 格式的目录排除在外,这 * 容器的类型必须是命令中指定的类型(目录,文件或者设备)。 里"n"是任意的数字。

* 容器必须在操作系统的文件大小限制以内。

* 在所有代理程序终止后,已删除的数据库管理的表空间的容器(文件)仅能重 新用作系统管理的表空间的容器(目录),反之亦然。

* 重定向复原期间,对 DMS 表空间指定了 SMS 容器,或对 SMS 表空间指定了 DMS 容器。

* 用于 EXTEND、REDUCE、RESIZE 或 DROP 操作的容器的指定类型与创建容器时

指定的容器(FILE 或 DEVICE)的类型不匹配。

如果发生阻止 DB2 访问容器的任何其他意外错误,那么也将返回此消息。

如果您正在使用集群管理器,并且 DB2 数据库管理器未能将数据库容器路径添加 至集群管理器配置,那么就可能会返回此错误。如果集群管理器无法访问此路径 ,那么集群管理器将不能成功地管理涉及到此路径的故障转移。集群管理器中生 成的错误消息将记录在 db2diag 日志文件中。

用户响应:

指定另一个容器位置或更改容器以使其可被 DB2 接受(如更改文件许可权),然 后再次尝试。

如果您正在使用集群管理器,那么更正问题并重新提交该命令:

1. 查看 db2diag 日志文件,以获取集群管理器中生成的错误消息。

2. 对 db2diag 日志文件中的集群管理器错误消息作出响应,以更正导致 DB2 数 据库管理器无法将路径添加至集群管理器配置的底层问题。

3. 重新提交该命令。

采用数据库分区,可以为您带来如下好处:

查询扩展性

这是采用DB2数据库分区最主要的原因之一。将一个大的数据库分成多个小的数据库可以提高查询的性能,因为每个数据库分区拥有自己的一小部分数据。假设您想扫描1亿条记录,对一个单一分区的数据库来讲,该扫描操作需要数据库管理器独立扫描一亿条记录,如果您将数据库系统做成50个分区,并将这1亿条记录平均分配到这50个分区上,那么每个数据库分区的数据库管理器将只扫描200万记录。

架构限制

在DB2V8和以前版本,非分区数据库的最大的表取决于页面大小,4K页最大支持64 GB,32K页最大支持512 GB数据量。表和表空间大小限制是每个分区上的限制,因此将数据库分成N个分区可以将表的最大尺寸增加为单个分区表最大尺寸的N倍。内存也可能是个限制,

特别是在32为操作系统环境,因为每个数据库分区管理并拥有自己的资源,因此通过数据库分区可以克服这个限制。

数据库装载性能

数据库分区可以并行装载数据到所有数据库分区,极大减少单表的装载时间,这对于像实时商业智能系统那样对数据装载的时间要求特别高的系统特别重要。

数据库维护性能

将数据库分散到多个数据库分区服务器可以加快系统维护,因为每个操作都运行在分区所管理的一个数据子集上面,这样可以通过数据库分区进一步减少创建索引的时间,减少搜集统计信息的时间,因为runstats仅运行在一个数据库分区上面,减少表重整(reorg)的时间。

备份/恢复性能

将数据库分区到不同的数据库服务器上可以大大减少数据库备份的时间,这往往是决定是否使用数据库分区很重要的一点。DB2通过为每个表空间分配独立的进程或线程来实现备份和恢复操作的并行处理的。在分区数据库环境的备份中,每个DB2数据库分区的备份是独立的,通过并行备份数据库分区可以大大减少备份整个数据库的时间。

什么时候采用数据库分区

设计数据库分区的基本原则是,尽量将大表分布在所有的分区上,提高并行处理能力;将小表放置在尽量少的分区上,一般是建议放在单一分区上;尽量减少分区间的通信。对于是否采用数据库分区,除了考虑上一节提到的分区的优势之外,我们也要根据DB2数据库分区设计原则来考虑:

选择数据库分区的一个比较理想的场景是执行一条像 ” select count(*) from

big_table”这样的语句。如果将这个表放在所有分区上,则每个分区都可以计算该表在其上的行数,并将这个局部总数(subtotal)发送到协调分区,以便计算总和,而这里的通信成本比起每个分区上所做的工作来可以忽略不计。

另一个非常合适的场景是, 一个大表与几个非常小的很少更新的表相连接。大表是分区的,小表则被复制到每个分区上,这样就可以并置连接。


qq群数据库查询工具
由:免费论文网互联网用户整理提供,链接地址:
http://m.csmayi.cn/show/185008.html
转载请保留,谢谢!
相关阅读
最近更新
推荐专题