Apache HBase v1.2.2 發布,一個開源的非關系型分布式數據庫
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
新特性
- [HBASE-15592] - Print Procedure WAL content
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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!