当前位置:首页 > 数码 > ByConity-ClickHouse-的用户体验比拟-和 (byconity)

ByConity-ClickHouse-的用户体验比拟-和 (byconity)

admin3周前 (05-13)数码6

自ClickHouseInc发表其关键新性能仅在ClickHouseCloud上开明以来,一些关注ByConity开源的社区小同伴也来征询ByConity后续开源布局。为回答社区不懂,咱们将之前分享的关于ByConity与ClickHouse关系性能对比的webinar整顿为文章,并更新ByConity0.2.0所颁布最新性能与ClickHouse对比内容,协助社区小同伴了解ByConity开源社区布局与停顿。

ByConity&ClickHouse经常使用视角对比

咱们整顿了一些从经常使用角度看ClickHouse&ByConity的异同点,与大家分享:

一、架构和组件

ClickHouse的架构及组件

ClickHouse是典型的MPP架构,节点平等,一切的性能都被放在ClickHouseserver组件中。当部署ClickHouse集群时,关键是把ClickHouseserver部署在一组物理机上。

1)散布式表&本地表

ClickHouse提出了散布式表的概念,当Client做查问时,首先衔接节点找到散布式表,经过shardingkey的定义以及集群的性能知道散布式表对应的本地表及散布节点。再经过两阶段的口头,先到节点上做本地表的查问,再把查问结果会聚到散布式表,而后再前往给客户端。

2)Replicas

ClickHouse提供数据复制的才干,经过对每一个本地表性能Replica启动数据复制。不论是散布式的口头,还是数据的复制,都要求Coordinator启动节点之间的通讯,包括义务的散发等。

3)Zookeeper&ClickHouseKeeper

ClickHouse之前经过Zookeeper提供Coordinator才干,部署一个ClickHouse集群要求同时部署一个Zookeeper集群来承当对应的上班。起初发现Zookeeper集群存在很多局限性,在大规模剖析型数据查问中会碰到很多性能瓶颈和经常使用疑问,因此启动了肯定改良,用C++和raft协定成功了ClickHouseKeeper组件。ClickHouseKeeper提供两种部署方式,既可以像Zookeeper一样作为独自的集群去部署,也可以放在ClickHouseserver里跟ClickHouseserver一起部署。

ByConity的架构及组件

ByConity是存算分别的架构,全体架构关键分为三层:服务接入层、计算层和云存储层。

1)服务接入层

由一组server和共享的服务组件组成,包括TSO、DaemonManager、ResourceManager。

服务接入层的server是做一切查问的入口,当Client衔接server时,server会先做查问的前解决,包括SQL解析、查问优化,生成QueryPlan。每个QueryPlan由多个PlanSegment组成,server担任把PlanSegment下发给worker做详细计算。

查问环节中会触及到元数据的治理,比如要求知道库表、字段的定义及统计消息,如Part的消息等等,server就会跟元数据的存储交互。元数据在ByConity目前驳回FoundationDB来成功。

2)计算层

计算层由一个或许多个VirtualWarehouse(计算组)形成,口头详细的计算义务。一个VirtualWarehouse由多个worker形成。

计算层为有形态的一层,为了查问的某些性能,这里会有Disk的介入,把一些数据缓存在worker本地做disk_cache。在ByConity的查问中有冷查(第一次性查问)和热查的区别,冷查要求从远端的云存储把数据拉到disk_cache,后续查问可以间接重用disk_cache的数据,查问速度更快。

3)云存储层

驳回HDFS或S3等云存储服务作为数据存储层,用来存储实践数据、索引等外容。

ByConity的部署要求

在部署ByConity时,不同的组件有不同的配件要求。对一些共享服务,如TSO、DaemonManager和ResourceManager,其资源需求相对较低且比拟固定;server和worker所需资源相对较多,尤其是worker,要求依据不同的查问场景部署到不同的配件规格上。

ByConity社区介绍经常使用Kubees来部署,可经过官网提供的工具和脚原本成功智能化操作,集群前期的运维治理也更繁难。详细的部署方式可在文档中检查:

由于部署ByConity也包括元数据以及远端的存储,即使部署测试环境也有前置要求,即HDFS和FoundationDB。如自身已有环境,可间接启动性能经常使用。假设没有,可参考对应的部署文档启动设置。

ByConity的架构个性

ByConity的架构演进源于字节在经常使用ClickHouse环节中所遇到的痛点。ByConity的组件只管比拟复杂,但设计这些组件有其对应的长处。

1)资源隔离

资源隔离是一个业务高速开展中集群环境变复杂的环节中无法防止的疑问。资源隔离有多个层面。

租户隔离, 在ToB的业务上指多租户;在企业外部普通指各个业务线之间在共享集群上的业务隔离。不同的业务线之间通常宿愿独占局部系统资源,在启动剖析、查问这些上班时可以相互不影响。这里肯定也随同着 计算资源的隔离。

读写分别, 由于读操作和写操作对配件的要求、出现的期间以及热点都不一样,通常宿愿读写之间也不要相互影响,能够离开用不同规格的资源去跑。

冷热分别, 普通指冷数据和热数据的存储能够用不同的配件资源分别,一方面可以缩小老本,另一方面也可以让冷热不同的查问之间不受影响。比如说假设有缓存的话,冷查问不会冲掉热查问的缓存,进而对热查问形成性能影响。

2)ClickHouse的资源隔离

ClickHouse没有在架构层面对资源隔离做专门的设计,因此ClickHouse在做上述这些资源隔离时要求独自的方案。

读写分别可以经过精准性能replica(局部专门担任读,局部专门担任写),联合loadbalance战略以及集群的部署方式做肯定的区分。但此方案有肯定局限性,一是运维老本较高,要求手动精准控制。二是读写分别的资源不繁难重用,专门用来担任写的replica,在读恳求高峰时无法serve读恳求。

冷热分别可以经过TTL,TODISK,TOVOLUME的性能,把冷数据和热数据区分指定不同的存储介质去存储。存储方面能够带来老本浪费的好处,但是在计算层面依然经常使用雷同的资源,无法做到分别。

3)ByConity的资源隔离

ByConity可以经过VirtialWarehouse部署和经常使用成功多级资源隔离。由于VirtialWarehouse是有形态的,可以针对不同业务、不同场景按需创立。VirtialWarehouse的创立操作是无感的,所蕴含的worker的创立也比拟灵敏。不同的VirtialWarehouse之间资源独占,可以比拟轻松地成功上述隔离。

租户隔离: 不同的业务线可以依据各自需求创立不同的VirtialWarehouse,对计算资源可以自然做到物理隔离。 计算资源 也可以在计算热点不同时做调整,成功老本控制和节俭。

读写分别: ByConity的设计要求用户在部署时指定好读和写操作区分经常使用哪个VirtialWarehouse,系统会智能地依据不同的读写恳求把计算转发到不同的VirtialWarehouse中,其自然具有读写分别的才干。

冷热分别: 从存储过去讲,由于ByConity存算分别,一切的数据都会落在远端存储中,不要求做数据冷存介质和热存介质之间的区分,一切的数据都会有完整的一份在远端存储中。由于disk_cache的存在,热数据有缓存减速,且一切热数据的载入不要求用户介入,都是智能计算的环节,可以依据查问把所要求的热数据载入到worker本地。

集群扩缩容

扩缩容是在业务不时增长的场景中必要求思考的话题。业务在迸发式增长的环节中,或许每两周就要求对集群启动一次性扩容,每次扩容都要求随同很多操作,带来很多的老本。因此扩缩容不得不思考。

1)ClickHouse的扩缩容

ClickHouse架构层面未专门思考扩缩容。ClickHouse的扩缩容要求经过肯定手腕来成功:

扩容正本, 经过经常使用新的节点来部署新的ClickHouseserver,并把正本转移到新的节点上。但是正本扩容之后要求肯定的期间启动复制,并且要求对复制的成功率及结果启动校验。这些操作都要求运维手动去做,没有专门的性能支持。

扩容分片, 经过参与Shard把新的分片部署到新的节点。这种方式会造成数据无法再平衡,即老的数据依然落在老的分片上,在启动详细查问时不同节点上的数据散布不均,要求启动数据再平衡。而数据再平衡的环节在ClickHouse中无法智能成功。

2)ByConity的扩缩容

ByConity是基于存算分别的 无感弹性扩缩容 ,经过VirtialWarehouse和worker来成功。

业务隔离: VirtialWarehouse可以依据不同的业务线去创立,其创立和销毁均无感。

负载隔离: 每个VirtialWarehouse可以依据业务量的变动调整worker的数量。详细来说:一些组件如ResourceManager可以智能发现新参与到集群中的worker,并智能成功数据再平衡。

二、数据库的基本操作

库表创立

1)ClickHouse

SQL规范: ClickHouse的SQL规范为ClickHouseSQL,它从ANSISQL演变而来,但有很多项不合乎ANSISQL规范,假设从其余的数据库迁徙到ClickHouse要求有较多修正。

支持协定: ClickHouse支持的协定关键是TCP和HTTP,client和driver经常使用TCP协定,也有一些工具和专门的driver经常使用HTTP。

客户端: ClickHouse自身就有ClickHouseclient,同时关于不同的言语也会有驱动性,比如clickhouse-jdbc,clickhouse-go。

表引擎: 在创立库表的时刻,ClickHouse有MergeTree家族表引擎,要为每一个表去指定所用的表引擎,用得最多是MergeTree以及MergeTree衍生出来的MergeTree家族,如replacingMergeTree,aggregatedMergeTree等。

2)ByConity

SQL规范: ByConity能够兼容ClickHouse原生的SQL规范,在SQL规范上提供了dialect的性能。除了可以经常使用ClickHouse原生的SQL,ByConity还提供了ANSISQL的方式。ANSISQL不是严厉意义上齐全合乎ANSI规范的SQL,思考到ClickHouseSQL与ANSI有比拟多的gap,ByConity会把一些不合乎规范的中央尽量做到合乎ANSISQL规范。ANSI的dialect可以看作是比ClickHouseSQL愈加合乎规范的SQL方式。

支持协定: ByConity原生支持ClickHouse的TCP和HTTP协定。

客户端: 除了ClickHouse支持的客户端以及驱动器,ByConity有专门的客户端用于支持自己的性能和参数。

表引擎: ByConity提供了合一的表引擎CnchMergeTree,散布式的口头环节都封装在外面,可以代替ClickHouse原生MergeTree家族多个MergeTree的才干,如bydefault的MergeTree、replacingMergeTree,包括支持惟一键也在CnchMergeTree中封装。

VirtialWarehouse及计算组性能: 创立ByConity库表有专门的设置,可以经过DDL为库表的读和写指定自动的VirtialWarehouse。读写分别也是经过此操作成功的。

数据导入

1)ClickHouse

ClickHouse的数据导入包括基础的insert操作,外部文件的导入insertinto…infile…。另外ClickHouse提供了很多的外表引擎,可以应用这些外表引擎创立外表,经过insertselect从外表把数据导入ClickHouse。ClickHouse多用在实时数仓场景,在ClickHouse的数据导入中,实时数据导入是一个比拟关键的话题。ClickHouse专门的表引擎——ClickHouseKafka在ClickHouse中用得十分多。

2)ByConity

ByConity关于基础insert、外部文件导入以及外表数据导入与ClickHouse相反,语法上也一样。此外,ByConity提供了更多的数据导入方式,包括一个数据导入工具,PartWriter。

PartWriter: 可以集成在Spark的流程解决中,不经过ByConity的表引擎,间接将数据文件转换为ByConity能够识别的的parts文件。

后盾义务: 在数据导入时有很多后盾义务要求治理,如数据导入之后的merge和mutate义务,Kafka表引擎实时生产义务等。经过操作语句跟后盾义务启动交互,监控后盾义务的口头状况及系统表的性能目的,能够成功对后盾义务的精准控制。

实时数据生产

1)ClickHouse的Kafka表引擎

ClickHouse做Kafka的数据导入会创立以下几个局部:

Kafka的数据导入在创立以上三个局部之后会在后盾运转,之后不停地把数据从Kafka生产出来写入到目的表。

2)ByConity的Kafka表引擎

ByConity从基本用法跟ClickHouse分歧,从Kafka生产数据也是创立外表、CNCHMergeTree,并创立一个MaterializedView把两局部衔接起来。但是ByConity在详细操作中跟ClickHouse存在差异。

3)Kafka生产形式方面的差异:

ClickHouse在Kafka生产时经常使用HighLevel的生产方式。这是一种智能化水平更高的生产方式,可以灵活调配Kafka的Partition到Consumer的instance。当发现有Consumer挂掉或有新的Consumer参与时,可以智能Rebalance,把Partition启动重调配。ClickHouse其MPP的架构愈加适宜HighLevel生产方式,可应用Kafka启动Rebalance。但是这种方式很难保障ExactlyOnce,由于在Rebalance环节当中会由失败惹起数据的重复活产,假设这些重复活产在目的表中没有去重手腕,必需会形成数据重复,无法保障ExactlyOnce。

在此生产方式下,Partition经常Rebalance到不同的Consumer节点,在ClickHouse中则会Rebalance到不同的ClickHouseshard,一方面运维排查比拟艰巨,另一方面很难控制Partition详细会落到哪些shard上。

4)如何保障ExactlyOnce

ByConity驳回LowLevel的生产形式:Kafka生产当中的assign静态地调配Partition到详细的consumerinstance,这也是ByConity多层架构的便利性,可以由server控制Partition的散发,由worker口头真正的consumerinstance的生产操作。

自身具有调度才干的产品更偏差于用LowLevel的生产方式,如Flink和Sparkstreaming。此方式的一个最大的好处是不会形成数据重复,尽量保障ExactlyOnce,精准控制哪个Partition由哪个consumer生产。同时在提交offset时,也会让数据写入和offset的提交有事务保障。在线上运维排查及数据审计时也愈加繁难,Partition不会乱飘,如发现Partition有比拟大的LAG也有迹可循,间接从server上找到详细的worker,进而找到详细失败的要素。

和 数据查问

1)ClickHouse

ClickHouse对复杂查问的支持并不完整,它驳回两阶段聚合的方式,即散布式表和本地表。在散布式表把查问散发到本地表,在本地表做第一个阶段的聚合之后再聚合到散布式表做第二阶段的聚合,也称为scatter/gather的形式。

ClickHouse提供了GLOBALJOIN和GLOBALIN,相似于BroadcastJoin的方式。在一个大表去join小表的时刻,可以让小表的数据先一步被计算出来,而后散发到大表去做local的join。ClickHouse对复杂查问支持有限,多表join不时是ClickHouse的痛点。经常使用ClickHouse要求在前期尽量把数据打平成大宽表。

2)ByConity

ByConity的复杂查问经过优化器来成功,优化器对复杂查问有十分大的性能优化,介绍自动关上。ByConity引入了多阶段的查问,首先由优化器生成口头方案并分派到各个worker,进而支持比拟复杂的查问,如节点之间有数据的生产才干的查问。

优化器的上班要求统计消息撑持,由于它外面有CBO,要求去手动地保养统计消息。ByConity提供了对统计消息操作的手腕,包括createStats,dropstats,以及去检查统计消息的手腕。详细内容可以参考优化器的分享:

ByConityMonthlyWebinar-20230321-优化器原了解析与性能差异_哔哩哔哩_bilibili

链接:

三、散布式事务

为什么要支持事务

在散布式系统中,不同的系统对事务支持水平不同,普通思考ACID四个个性。OLTP数据库对事务的要求较高,普通支持多种事务的隔离级别,且会支持比拟高的级别,如Serializable。但是一些NoSQL的数据库,为了到达极致性能,会把ACID的局部个性做得相对较弱。

OLAP的环境中很多时刻并不特意强调事务的关键性。但在真正的业务中,即使对OLAP系统,事务也是十分关键的。其中一个关键是保障数据的准确性,有些系统只管能够保障最终的分歧性,但在环节中会出现数据不准确的状况。对实时性要求比拟高的系统,数据不准确会带来不好的用户体验。

此内在经常使用OLAP系统时,由于数据不都是一次性性导入的,经常会有数据的增量更新,在这种需求外面也要求事务操作。

ClickHouse

ClickHouse只管有散布式的查问,但是并不支持散布式事务,本地事务支持目前仅针对单次写入在max_insert_block_size以内的数据有事务保障。

此种事务保障关于大局部在ClickHouse外面真正跑的查问是不够的,ClickHouse社区目前正在成功事务增强,如提供MVCC和RC的隔离级别,支持多insert和多select组成的交互性事务。此性能还目前还在experimental阶段,要求不凡配制才干经常使用。即使最终齐全成功也还是一个local的事务,只针对本地表有事务保障,无散布式事务的布局。

ByConity启动了比拟完整的散布式事务虚现,其ACID的个性保障如下:

原子性(Atomicity): ByConity在各种状况下都会保障原子性,包括掉电,失误和宕机等各种意外状况。

分歧性(Consistency): 保障数据库只会从一个有效的形态变成另外一个有效的形态,不会有两边形态被看到,任何数据的写入必需遵照曾经定义好的规定。

隔离性(Isolation): ByConity为用户提供的是readcommitted(rc)隔离级别的支持。未成功的事务写入关于其余事务是无法⻅的

耐久性(Durability): ByConity采取的存储计算分别结构,应用了成熟的高可用散布式文件系统或许对象存储,保障成功事务所提交数据的高可用。

另外,ByConity经过两个比拟关键的组件来启动事务保障。

FoundationDB: 经过FoundationDB的才干做事务中的必要操作。FoundationDB自身具有的原子性操作及CAS的操作在事务的口头环节中有协助。

TimestampOracle(TSO): 经过TimestampOracle提供全局惟一期间戳,期间戳是干燥递增的,可以用来做事务的ID。

在事务的详细成功中,这是一个典型的两阶段提交的成功。第一个阶段写入事务记载,包括写undobuffer,远端存储,提交元消息等。第二个阶段真正提交事务,并更新事务记载的提交期间。在事务成功和失败的时刻,用undobuffer去做一些清算。

四、不凡的表引擎

Unique表引擎

很多剖析型数据库有Upsert的需求,假设表中存在已有数据,宿愿笼罩掉前面的反双数据,因此要求惟一键的保障来启动判读。ClickHouse很难保障数据拔出的惟一性。ClickHouse提供的replacingMergeTree可以在肯定水平上到达此成果,但replaceMergeTree不保障键肯定是惟一的,由于它是异步,要在merge时才干做数据的笼罩。假设merge不时不做或许做得比拟晚则会出现反双数据的形态,而这种形态在很多场景下不准许出现。因此要求一个能够保障键的惟一性的场景来做Upsert的支持。

ByConity的成功方式

ByConity对Upsert支持中,行级的update操作被转换成delete+insert。行级delete经过DeleteBitmap成功,DeleteBitmap寄存了该part中一切被删除的行的行号。详细的增删改查都会围绕DeleteBitmap操作,比如insert时修正Bitmap对比版本消息;在select之后,依据DeleteBitmap当中的标识去filter数据。

为了减速口头,ByConity对UniqueKey创立了index。由于在Bitmap中放的是行号,从key到行号要求索引,经过UniqueKeyIndex可以成功Key到行号的加快定位。

惟一性的保障也要求控制写抵触的出现。在并发的状况下,假设有不同的写恳求过去,要求加锁去保障写抵触不会出现。从上可知,Unique表引擎要求肯定代价,是在真正要求此场景的表里才会要求用到的表引擎。

Bucket表

Snowflake提出了clustertable的概念,即当一个表的数据量比拟大时能够对表的数据启动再分片。即使是同一个Partition中的数据,也宿愿能够再分片,参与整个系统的并行度,并应用分片的key做性能优化。

Bucket表在ByConity中要求以下语句来成功:

CREATETABLEt(...)

CLUSTERBY(column,expression,...)INTO32BucketS

Bucket前期可经过ALTERTABLE修正

ALTERTABLEtCLUSTERBY(column,expression,...)INTO64BucketS

也可以把Bucket表整个drop掉

ALTERTABLEtDROPCLUSTER

1)要求经常使用Bucket表的场景

首先表的数据要足够大,一个Partition的数据要发生足够多且比拟大的Parts,⾄少要求清楚多于worker的数量,不至于发生很多的小文件。另外要有一些性能优化的场景,有助于查问中性能的优化。

2)经常使用Bucket表的收益

针对clusterkey的点查可以过滤掉大局部数据,降落ΙΟ量以取得更短的执⾏期间和更⾼的并发QPS

针对clusterkey聚算计算,计算节点可以在数据子集启动估量算,成功更小的内存占用和更短的口头期间

在两张表或多张表join时,针对clusterkey可以取得co-locatedjoin的优化,极大水平上降落shuffle的数据量并失掉更短的口头期间,优化查问效率。

3)Clusterkey的选择

用Bucket表的时刻,要求留意clusterkey的选择,选择的时刻要尽量去选在查问条件中经常会用到的组合的column、经常要求聚合的column,以及join时的一些joinkey。

4)分桶数量的选择

分桶数量可以参考worker的数量。做Bucket表肯定水平上的目的是能够尽量施展多个worker的计算才干去启动并行计算。所以在分桶数量选择上可以尽量地去选worker的倍数,比如1倍或许2倍。

5)Recluster

分桶指定好了可以扭转,但是扭转要求肯定的代价,要求数据的从新调配。因此倡导尽量在必要的时刻才启动recluster的操作。

数据湖支持

ClickHouse支持以外表的方式读取Hive以及Hudi/Iceberg等格局。这些外表都是以本地单机表的方式存在,因此性能并不能令人满意。且成功上较为割裂,经常使用起来较为不便。目前Hive仅能支持读取HDFS上数据,Hudi/Iceberg仅能支持读取S3上的数据。

ByConity经过一致的Multi-catalog的架构,极大增强了经常使用外表的方便性。

1)ByConityMulti-Catalog

Multi-Catalog的设计准许用户在同一个Hive实例中同时衔接多个不同的存储和元数据服务,而不用为每个存储创立独自的Hive实例。这简化了数据治理和查问的复杂性,使组织能够更好地治理和应用其多样化的数据资源。目前曾经支持的外部Catalog有:Hive,Hudi,AWSGlue。

用户可以经常使用创立一个基于Hive和S3存储的Catalog

createexternalcataloghive_s3

properties,hive.metastore.uri='thrift://localhost:9083';

而后经常使用三段式的命名来间接访问Hive外表

select*fromhive_s3.tpcds.call_center;

也可以经常使用query来检查externalcatalog关系的消息

--displayinformationreleatedtohive_s3

showcreateexternalcataloghive_s3;

--showmax-width="600"/>

Github:

分享视频: 从经常使用的角度看ByConity和ClickHouse的差异_哔哩哔哩_bilibili

PPT失掉:


小米2和苹果4S区别

小米2和iphone4s哪个好?售价1999元的小米2发布之后引起了不小的轰动,不少朋友开始追问小米2和iphone4s哪个好?小米1999元的价格优势是iphone4s无法比拟的。 我们就抛开价格,从外观、性能等方面来对比下,看看小米2和iphone4s哪个好。 小米2在小米1的基础上增设200万像素的前置摄像头,iPhone4S2.4广角镜头带来的背景虚化让人大为赞叹;在娱乐功能上,两者势均力敌,配置都相当先进。 小米M2是一款高端配置的手机,在硬件上有飞跃的升级,搭载原生安卓4.1系统,四核1.5Ghz处理器,内置16G ROM以及2G RAM支持云服务技术。 iPhone4S可能是过渡产品,但也有实际提升,siri风靡全球,ios5的系统给用户带来更好的体验,双核A5处理器,操作速度更快了,但众多升级的背后也带来了续航能力的广泛质疑。 总的来说,小米2和iphone4s哪个好,单从价格和性能参数上来看,小米2确实有着很大的优势,但硬件强大的同时也带来了机子容易发热等问题。 苹果IOS的用户体验简洁明快,流畅度顺手度都是没得说。 到底选择哪一款呢?看过两者的区别了,慎重考虑下吧!

thinkcentre是什么意思

ThinkCentre 是 全新的IBM台式机品牌ThinkCentre的诞生是IBM个人电脑事业部Think Strategy的战略延伸,充分反映了IBM的商业价值观和对客户的承诺,即“为商业优势而创新”(Innovation for Business Advantage)。 ThinkVision显示器以及业界领先的Think Service服务和ThinkVantage技术、设计一道,打造了IBM在“随需应变电子商务”(e-business on Demand)时代下的IBM台式机,全面满足了全球各行各业的用户在向“按需计算”的模式过渡时对系统的灵活性和动态配置的新需求。 ThinkCentre 产品线 ThinkCentre M50——企业级稳定性和可管理性ThinkCentre M50的三种改进型的机箱设计共享通用的系统主板和软件镜像,能够为企业用户提供稳定的性能和易管理性的强大功能。 IBM独有的单键恢复解决方案, 保证您的系统及数据在遇到系统故障或灾难后迅速获得恢复。 ThinkCentre S50——外型最小巧,扩展更轻松 IBM ThinkCentre S50是IBM体积最小的台式机。 9.1升可立可卧机箱为用户提供了更大的灵活性。 完美的工具机箱设计,所有“用户可接触点”均被标为蓝色,包括硬盘驱动器、适配器卡插槽甚至主板都能轻松拆卸,轻松维护。 S50具有同类产品不可比拟的扩展性:2个全高PCI插槽、3个扩展坞,这对于体积如此之小的PC来说尤为难得。 ThinkCentre A30和A50p—先进的技术,适用的价格IBM ThinkCentre A30采用英特尔主流赛扬和奔腾4处理器,DDR 内存,高转速硬盘,应用Intel极速显示引擎技术。 立式机箱设计支持多个USB 2.0 端口,便于添加扫描仪、打印机和其他外接设备,满足用户的各种需要。 而物超所值的IBM ThinkCentre A50p是具有世界领先水准的多媒体PC产品,面向中小企业、政府机构以及广大个人用户。 ThinkCentre A50p基于Intel最新的865G芯片组,目前可最高支持800MHz前端总线的3.2GHz超线程处理器,串行ATA硬盘驱动器,双通道内存,还可支持128MB 8xAGP顶级图形显示卡,使您在拥有顶级系统配置的同时享受更酷的应用体验。 看 你是品牌机 还是组装机了 品牌机的话 主版不可能是 你说的那个地方的 组装机的话 那就有可能了

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: ByConity