分布式存储系统是做什么的
展开全部 一句话,是为了解决非分布式存储系统满足不了的存储瓶颈、性能瓶颈而产生的。
对了非分布式存储系统而言,数据量大、访问量大都会导致IO瓶颈,分布式存储通过把一个完整的数据集分片,存储到不同的节点中,每个节点都能对外提供服务来提高整个存储的存储能力、处理能力、快速响应能力。
...
有哪些主要的分布式存储系统?能不能给简单介绍一两句嘛?
1.HadoopHDFS(大数据分布式文件系统),这个适用于商用硬件上高数据吞吐量对大数据集的访问需求。
它效仿谷歌文件系统(GFS),数据在相同节点上以复制的方式进行存储以实现将数据合并计算的目的。
该系统的主要设计目标包括:容错,可扩展性,高效性和可靠性。
2.OpenStack的对象存储Swift,提供一个类似AmazonS3的对象存储。
其主要特点为:所有的存储对象都有自身的元数据和一个URL,这些对象在尽可能唯一的区域复制3次,而这些区域可被定义为一组驱动器,一个节点,一个机架等。
开发者通过一个RESTfulHTTPAPI与对象存储系统相互作用。
对象数据可以放置在集群的任何地方。
在不影响性能的情况下,集群通过增加外部节点进行扩展。
这是相对全面升级,性价比更高的近线存储扩展。
数据无需迁移到一个全新的存储系统。
集群可无宕机增加新的节点。
故障节点和磁盘可无宕机调换。
在标准硬件上运行,例如戴尔,HP和Supermicro。
3.公有云对象存储,公有云大都只有对象存储。
比如:Amazon的S3,微软的AzureBolb,阿里的OSS等等.4.Facebook用于图片存储的Haystack,拥有大量元数据,适用于图片的对象存储,采用每张图片一个文件的方式取代NFS文件系统。
此外,Facebook着眼于长尾服务,因此传统缓存和CDN(内容发布网络)的表现并不甚佳。
一般正常的网站有99%CDN点击量,但Facebook只有约80%CDN点击率。
5.Ceph,是红帽的,它是一个遵循LGPL协议的存储平台,可以在单个分布式节点上同时支持对象存储,块存储和文件存储三种存储。
Ceph设计的主要初衷是变成一个可避免单节点故障的分布式文件系统,EB级别的扩展能力,而且是一种开源自由软件,许多超融合的分布式文件系统都是基于Ceph开发的,作为开源软件在超融合商业领域的应用,Ceph因为性能等问题被诟病,但不乏许多厂商在Ceph上不断优化和努力。
,比如深圳元核云就在优化它的性能方面做了很多努力,也取得了不错的成绩。
还有OpenStack可以作为一个Linux访问的文件系统提供传统块存储Cinder,并行分布式文件系统Lustre,遵循InfinibandRDMA或TCP/IP协议创建块集中存储的GlusterFS,用户空间文件系统FUSE(FilesysteminUserspace)等。
分布式存储有什么好?
展开全部 分布式存储系统,是将数据分散存储在多***立的设备上。
传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。
分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
1.系统弹性扩展技术2.存储层级内的优化技术3.针对应用和负载的存储优化技术分布式存储系统需要使用多台服务器共同存储数据,而随着服务器数量的增加,服务器出现故障的概率也在不断增加。
为了保证在有服务器出现故障的情况下系统仍然可用。
一般做法是把一个数据分成多份存储在不同的服务器中。
但是由于故障和并行存储等情况的存在,同一个数据的多个副本之间可能存在不一致的情况。
这里称保证多个副本的数据完全一致的性质为一致性。
...
分布式存储与软件定义存储的区别?
展开全部 分布式存储是一种存储的方式,其“分布式”的理念是软件定义存储的基础,从概念上来说,软件定义存储的范围更大,除了存储之外,还包括管理、计算、网络接口等相关概念。
或者说,分布式存储就是一种链接方式,而软件定义存储就是类似元核云存储、华为等企业所研发的软件产品。
...
分布式存储和超融合区别及优势?
超融合的概念主要体现在超融合一体机,超融合一体机是将计算,存储结合,通过软件定义的形式将它们打通,再集中在一台机器中向客户提供服务。
超融合更适合业务量不大空间有限的中小型企业,少量超融合一体机就可以提供给中小型企业足够的网络,计算,存储等服务。
但当随着企业业务发展,计算、网络、存储消耗占比发生较大偏移时,企业对存储、计算中某一项有更多的远超于其原有超融合一体机提供的服务需求时,再进行超融合一体机购买就会造成超融合一体机内其他资源的浪费。
这就不得不另行购买独立的分布式存储来解决存储的问题,或独立的机器解决计算的需求。
但某些超融合一体机不支持另行购买的分布式存储系统,使企业资源矛盾更为严重。
同时超融合一体机的厂商,因为要兼顾做存储以及计算多项服务,所以存储产品的专业性及可靠性上会与专业做存储的公司的存储产品有一定差距。
所以随着企业的发展,从超融合架构走向非超融合的架构是必然的趋势。
分布式存储是什么东西?
展开全部 分布式存储有块存储、对象存储、文件存储,有不同的开源项目如Ceph、GlusterFS、Sheepdog、Swift,还有不同的商业实现如Google、AWS、微软、金山、七牛、又拍、阿里云元核云等,思路或多或少都有些不同,可选的硬件种类也很多。
似乎可选的东西太多了,而且各有优缺点。
...
分布式存储的优点有哪些?
展开全部 分布式存储的六大优点分布式存储往往采用分布式的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息。
它不但提高了系统的可靠性、可用性和存取效率,还易于扩展,将通用硬件引入的不稳定因素降到最低。
优点如下: 1. 高性能 一个具有高性能的分布式存户通常能够高效地管理读缓存和写缓存,并且支持自动的分级存储。
分布式存储通过将热点区域内数据映射到高速存储中,来提高系统响应速度;一旦这些区域不再是热点,那么存储系统会将它们移出高速存储。
而写缓存技术则可使配合高速存储来明显改变整体存储的性能,按照一定的策略,先将数据写入高速存储,再在适当的时间进行同步落盘。
2. 支持分级存储 由于通过网络进行松耦合链接,分布式存储允许高速存储和低速存储分开部署,或者任意比例混布。
在不可预测的业务环境或者敏捷应用情况下,分层存储的优势可以发挥到最佳。
解决了目前缓存分层存储最大的问题是当性能池读不命中后,从冷池提取数据的粒度太大,导致延迟高,从而给造成整体的性能的抖动的问题。
3. 一致性 与传统的存储架构使用RAID模式来保证数据的可靠性不同,分布式存储采用了多副本备份机制。
在存储数据之前,分布式存储对数据进行了分片,分片后的数据按照一定的规则保存在集群节点上。
为了保证多个数据副本之间的一致性,分布式存储通常采用的是一个副本写入,多个副本读取的强一致性技术,使用镜像、条带、分布式校验等方式满足租户对于可靠性不同的需求。
在读取数据失败的时候,系统可以通过从其他副本读取数据,重新写入该副本进行恢复,从而保证副本的总数固定;当数据长时间处于不一致状态时,系统会自动数据重建恢复,同时租户可设定数据恢复的带宽规则,最小化对业务的影响。
4. 容灾性 在分布式存储的容灾中,一个重要的手段就是多时间点快照技术,使得用户生产系统能够实现一定时间间隔下的各版本数据的保存。
特别值得一提的是,多时间点快照技术支持同时提取多个时间点样本同时恢复,这对于很多逻辑错误的灾难定位十分有用,如果用户有多台服务器或虚拟机可以用作系统恢复,通过比照和分析,可以快速找到哪个时间点才是需要回复的时间点,降低了故障定位的难度,缩短了定位时间。
这个功能还非 5. 扩展性 6. 存储系统标准化...
请问java测试工具是什么?
JUnit JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。
Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。
Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
更多JUnit信息 Cactus Cactus是一个基于JUnit框架的简单测试框架,用来单元测试服务端Java代码。
Cactus框架的主要目标是能够单元测试服务端的使用Servlet对象的Java方法如HttpServletRequest,HttpServletResponse,HttpSession等更多Cactus 信息 Abbot Abbot是一个用来测试Java GUIs的框架。
用简单的基于XML的脚本或者Java代码,你就可以开始一个GUI。
更多Abbot信息 JUnitPerf Junitperf实际是junit的一个decorator,通过编写用于junitperf的单元测试,我们也可使测试过程自动化。
更多JUnitPerf信息 DbUnit DbUnit是为数据库驱动的项目提供的一个对JUnit 的扩展,除了提供一些常用功能,它可以将你的数据库置于一个测试轮回之间的状态。
更多DbUnit信息 Mockrunner Mockrunner用在J2EE环境中进行应用程序的单元测试。
它不仅支持Struts actions, servlets,过滤器和标签类还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。
更多Mockrunner信息 DBMonster DBMonster是一个用生成随机数据来测试SQL数据库的压力测试工具。
更多DBMonster信息 MockEJB MockEJB是一个不需要EJB容器就能运行EJB并进行测试的轻量级框架。
更多MockEJB信息 StrutsTestCase StrutsTestCase 是Junit TestCase类的扩展,提供基于Struts框架的代码测试。
StrutsTestCase同时提供Mock 对象方法和Cactus方法用来实际运行Struts ActionServlet,你可以通过运行servlet引擎来测试。
因为StrutsTestCase使用ActionServlet控制器来测试你的代码,因此你不仅可以测试Action对象的实现,而且可以测试mappings,from beans以及forwards声明。
StrutsTestCase不启动servlet容器来测试struts应用程序(容器外测试)也属于Mock对象测试,但是与EasyMock不同的是,EasyMock是提供了创建Mock对象的API,而StrutsTest则是专门负责测试Struts应用程序的Mock对象测试框架。
更多StrutsTestCase信息 JFCUnit JFCUnit使得你能够为Java偏移应用程序编写测试例子。
它为从用代码打开的窗口上获得句柄提供了支持;为在一个部件层次定位部件提供支持;为在部件中发起事件(例如按一个按钮)以及以线程安全方式处理部件测试提供支持。
更多JFCUnit信息 JTestCase JTestCase 使用XML文件来组织多测试案例数据,声明条件(操作和期望的结果),提供了一套易于使用的方法来检索XML中的测试案例,按照数据文件的定义来声明结果。
更多JTestCase信息 SQLUnit SQLUnit是一个单元测试框架,用于对数据库存储过程进行加归测试。
用 Java/JUnit/XML开发。
更多SQLUnit信息 JTR JTR (Java Test Runner)是一个开源的基于反转控制(IOC)的J2EE测试框架。
它允许你构建复杂的J2EE测试套件(Test Suites)并连到应用服务器执行测试,可以包括多个测试实例。
JTR的licensed是GPL协议。
更多JTR信息 Marathon Marathon是一个针对使用Java/Swing开发GUI应用程序的测试框架,它由recorder, runner 和 editor组成,测试脚本是python代码。
Marathon的焦点是放在最终用户的测试上。
更多Marathon信息 TestNG TestNG是根据JUnit 和 NUnit思想而构建的一个测试框架,但是TestNG增加了许多新的功能使得它变得更加强大与容易使用比如:*支持JSR 175注释(JDK 1.4利用JavaDoc注释同样也支持)*灵活的Test配置*支持默认的runtime和logging JDK功能*强大的执行模型(不再TestSuite)*支持独立的测试方法。
更多TestNG信息 Surrogate Test framework Surrogate Test framework是一个值得称赞单元测试框架,特别适合于大型,复杂Java系统的单元测试。
这个框架能与JUnit,MockEJB和各种支持模拟对象(mock object )的测试工具无缝给合。
这个框架基于AspectJ技术。
更多Surrogate Test framework信息 MockCreator MockCreator可以为给定的interface或class生成模拟对象(Mock object)的源码。
更多MockCreator信息 jMock jMock利用mock objects思想来对Java code进行测试。
jMock具有以下特点:容易扩展,让你快速简单地定义mock objects,因此不必打破程序间的关联,让你定义灵活的超越对象之间交互作用而带来测试局限,减少你测试地脆弱性。
更多jMock信息 EasyMock EasyMock为Mock Objects提供接口并在JUnit测试中利用Java的proxy设计模式生成它们的实例。
EasyMock最适合于测试驱动开发。
更多EasyMock信息 Grinder Grinder是一个开源的Java负载测试框架,它通过很多负载注射器来为分布式测试提供了便利。
支持用于执行测试脚本的Jython脚本引擎HTTP测试可通过HTTP代理进行管理。
更多Grinder信息 XMLUnit XMLUnit不仅有Java版本的还有.Net版本的。
Java开发的XMLUnit提供了两个JUnit 扩展类XMLAssert和XMLTestCase,和一组支持的类。
这些...
转载请注明出处51数据库 » 分布式存储软件 测试