Apache HBase v1.2.2 發布,一個開源的非關系型分布式數據庫

jopen 8年前發布 | 30K 次閱讀 Java Apache?HBase NOSQL

HBase是一個開源的非關系型分布式數據庫(NoSQL),它參考了谷歌的BigTable建模,實現的編程語言為 Java。它是Apache軟件基金會的Hadoop項目的一部分,運行于HDFS文件系統之上,為 Hadoop 提供類似于BigTable 規模的服務,可以存儲海量稀疏的數據,并具備一定的容錯性、高可靠性及伸縮性。主要應用場景是實時隨機讀寫超大規模的數據。

HBase在列上實現了BigTable論文提到的壓縮算法、內存操作和布隆過濾器。HBase的表能夠作為MapReduce任務的輸入和輸出,可以通過Java API來存取數據,也可以通過REST、Avro或者Thrift的API來訪問。

HBase不能取代RDBMS,因為二者的應用場景不同。HBase為了解決海量數據的擴展性,支持簡單的增加節點來實現線性擴展,從而在集群上管理海量的非結構化或半結構化的稀疏數據。HBase僅能通過主鍵(row key)或主鍵的range檢索數據,支持單行事務。

HBase的優勢主要在以下幾方面:

  • 海量數據存儲
  • 快速隨機訪問
  • 大量寫操作的應用

常見的應用場景:

  • 互聯網搜索引擎數據存儲(BigTable要解決的問題)
  • 審計日志系統
  • 實時系統
  • 消息中心
  • 內容服務系統

HBase架構 

更新日志

Sub-task

  • [HBASE-15386] - PREFETCH_BLOCKS_ON_OPEN in HColumnDescriptor is ignored
  • [HBASE-15640] - L1 cache doesn't give fair warning that it is showing partial stats only when it hits limit
  • [HBASE-15872] - Split TestWALProcedureStore
  • [HBASE-15878] - Deprecate doBulkLoad(Path hfofDir, final HTable table) in branch-1 (even though its 'late')
  • [HBASE-16034] - Fix ProcedureTestingUtility#LoadCounter.setMaxProcId()
  • [HBASE-16056] - Procedure v2 - fix master crash for FileNotFound
  • [HBASE-16068] - Procedure v2 - use consts for conf properties in tests

Bug修復

  • [HBASE-11625] - Reading datablock throws "Invalid HFile block magic" and can not switch to hdfs checksum
  • [HBASE-14644] - Region in transition metric is broken
  • [HBASE-14818] - user_permission does not list namespace permissions
  • [HBASE-15234] - ReplicationLogCleaner can abort due to transient ZK issues
  • [HBASE-15465] - userPermission returned by getUserPermission() for the selected namespace does not have namespace set
  • [HBASE-15485] - Filter.reset() should not be called between batches
  • [HBASE-15582] - SnapshotManifestV1 too verbose when there are no regions
  • [HBASE-15587] - FSTableDescriptors.getDescriptor() logs stack trace erronously
  • [HBASE-15591] - ServerCrashProcedure not yielding
  • [HBASE-15596] - hbAdmin is not closed after LoadIncrementalHFiles completes
  • [HBASE-15613] - TestNamespaceCommand times out
  • [HBASE-15615] - Wrong sleep time when RegionServerCallable need retry
  • [HBASE-15617] - Canary in regionserver mode might not enumerate all regionservers
  • [HBASE-15621] - Suppress Hbase SnapshotHFile cleaner error messages when a snaphot is going on
  • [HBASE-15622] - Superusers does not consider the keytab credentials
  • [HBASE-15627] - Miss space and closing quote in AccessController#checkSystemOrSuperUser
  • [HBASE-15636] - hard coded wait time out value in HBaseTestingUtility#waitUntilAllRegionsAssigned might cause test failure
  • [HBASE-15645] - hbase.rpc.timeout is not used in operations of HTable
  • [HBASE-15670] - Add missing Snapshot.proto to the maven profile for compiling protobuf
  • [HBASE-15674] - HRegionLocator#getAllRegionLocations should put the results in cache
  • [HBASE-15676] - FuzzyRowFilter fails and matches all the rows in the table if the mask consists of all 0s
  • [HBASE-15693] - Reconsider the ImportOrder rule of checkstyle
  • [HBASE-15698] - Increment TimeRange not serialized to server
  • [HBASE-15738] - Ensure artifacts in project dist area include required md5 file
  • [HBASE-15742] - Reduce allocation of objects in metrics
  • [HBASE-15746] - Remove extra RegionCoprocessor preClose() in RSRpcServices#closeRegion
  • [HBASE-15755] - SnapshotDescriptionUtils and SnapshotTestingUtils do not have any Interface audience marked
  • [HBASE-15801] - Upgrade checkstyle for all branches
  • [HBASE-15811] - Batch Get after batch Put does not fetch all Cells
  • [HBASE-15824] - LocalHBaseCluster gets bind exception in master info port
  • [HBASE-15827] - Backport HBASE-15125 'HBaseFsck's adoptHdfsOrphan function creates region with wrong end key boundary' to 1.2
  • [HBASE-15841] - Performance Evaluation tool total rows may not be set correctly
  • [HBASE-15850] - Localize the configuration change in testCheckTableLocks to reduce flakiness of TestHBaseFsck test suite
  • [HBASE-15856] - Cached Connection instances can wind up with addresses never resolved
  • [HBASE-15873] - ACL for snapshot restore / clone is not enforced
  • [HBASE-15880] - RpcClientImpl#tracedWriteRequest incorrectly closes HTrace span
  • [HBASE-15920] - Backport submit-patch.py to branch-1 and earlier branches.
  • [HBASE-15925] - compat-module maven variable not evaluated
  • [HBASE-15946] - Eliminate possible security concerns in RS web UI's store file metrics
  • [HBASE-15954] - REST server should log requests with TRACE instead of DEBUG
  • [HBASE-15955] - Disable action in CatalogJanitor#setEnabled should wait for active cleanup scan to finish
  • [HBASE-15957] - RpcClientImpl.close never ends in some circumstances
  • [HBASE-15975] - logic in TestHTableDescriptor#testAddCoprocessorWithSpecStr is wrong
  • [HBASE-15976] - RegionServerMetricsWrapperRunnable will be failure when disable blockcache.
  • [HBASE-16012] - Major compaction can't work due to obsolete scanner read point in RegionServer
  • [HBASE-16016] - AssignmentManager#waitForAssignment could have unexpected negative deadline
  • [HBASE-16032] - Possible memory leak in StoreScanner
  • [HBASE-16062] - Improper error handling in WAL Reader/Writer creation
  • [HBASE-16093] - Splits failed before creating daughter regions leave meta inconsistent
  • [HBASE-16129] - check_compatibility.sh is broken when using Java API Compliance Checker v1.7
  • [HBASE-16238] - It's useless to catch SESSIONEXPIRED exception and retry in RecoverableZooKeeper

改進

  • [HBASE-13532] - Make UnknownScannerException logging less scary
  • [HBASE-15119] - Include git SHA in check_compatibility reports
  • [HBASE-15551] - Make call queue too big exception use servername
  • [HBASE-15569] - Make Bytes.toStringBinary faster
  • [HBASE-15720] - Print row locks at the debug dump page
  • [HBASE-15791] - Improve javadoc in ScheduledChore
  • [HBASE-15808] - Reduce potential bulk load intermediate space usage and waste
  • [HBASE-15837] - Memstore size accounting is wrong if postBatchMutate() throws exception
  • [HBASE-15854] - Log the cause of SASL connection failures
  • [HBASE-16124] - Make check_compatibility.sh less verbose when building HBase
  • [HBASE-16140] - bump owasp.esapi from 2.1.0 to 2.1.0.1

新特性

Task

  • [HBASE-15729] - Remove old JDiff wrapper scripts in dev-support
  • [HBASE-15895] - remove unmaintained jenkins build analysis tool.
  • [HBASE-16019] - Cut HBase 1.2.2 release
  • [HBASE-16073] - update compatibility_checker for jacc dropping comma sep args
  • [HBASE-16154] - bring non-master branches up to date wrt check_compatibility script

下載

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!