KR102388458B1 - 데이터 키 값 변환 방법 및 장치 - Google Patents
데이터 키 값 변환 방법 및 장치 Download PDFInfo
- Publication number
- KR102388458B1 KR102388458B1 KR1020200032602A KR20200032602A KR102388458B1 KR 102388458 B1 KR102388458 B1 KR 102388458B1 KR 1020200032602 A KR1020200032602 A KR 1020200032602A KR 20200032602 A KR20200032602 A KR 20200032602A KR 102388458 B1 KR102388458 B1 KR 102388458B1
- Authority
- KR
- South Korea
- Prior art keywords
- distribution
- data key
- key values
- determining
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 2는 일실시예에 따른 확장 해싱(extendible hashing)의 해싱 방법을 도시한 도면이다.
도 3은 일실시예에 따라 키 값의 분포 정보에 기초하여 키 값을 변환시킨 인덱스 구조를 도시한 도면이다.
도 4는 일실시예에 따라 키 값을 변환시킬지 여부를 결정하는 방법을 도시한 흐름도이다.
도 5는 일실시예에 따른 키 값의 분포 형태를 도시한 도면이다.
도 6은 일실시예에 따라 디렉토리를 생성하는 것을 도시한 도면이다.
도 7은 일실시예에 따른 키 값 변환 장치의 개괄적인 구성을 도시한 블록도이다.
Claims (15)
- 프로세서에 의해 스캔 가능한 동적 해싱(hashing)을 수행하는 방법에 있어서,
데이터 키 값들에 대해 산출된 키 값 분포 정보의 분포 형태를 판단하는 단계;
상기 키 값 분포 정보의 상기 분포 형태를 판단한 결과에 기초하여, 상기 데이터 키 값들을 변환시키는 변환 함수를 결정하는 단계;
상기 결정된 변환 함수를 이용하여 상기 데이터 키 값들을 균일(uniform)한 분포에 대응하는 값으로 변환하는 단계; 및
상기 변환된 데이터 키 값들에 관련된 해쉬 인덱스 구조(hash index structure)를 생성하는 단계
를 포함하고,
상기 데이터 키 값들에 대해 산출된 키 값 분포 정보의 분포 형태를 판단하는 단계는,
균일한 분포에 관련된 값과 상기 키 값 분포 정보 간의 거리를 계산한 결과에 기초하여, 상기 데이터 키 값들을 변환시킬지 여부를 판단하는 단계
를 포함하는 스캔 가능한 동적 해싱 수행 방법. - 삭제
- 제1항에 있어서,
상기 데이터 키 값들을 변환시킬지 여부를 판단하는 단계는,
상기 거리로서 상기 균일한 분포의 분산 값과 상기 키 값 분포 정보의 분산 값의 차이를 계산하는 단계
를 포함하는 스캔 가능한 동적 해싱 수행 방법. - 제1항에 있어서,
상기 데이터 키 값들을 변환시킬지 여부를 판단하는 단계는,
상기 계산된 거리를 미리 지정된 임계 거리에 비교하는 단계; 및
상기 계산된 거리 및 상기 임계 거리를 비교한 결과에 기초하여, 상기 데이터 키 값들을 변환을 수행하는 단계
를 더 포함하는 스캔 가능한 동적 해싱 수행 방법. - 제1항에 있어서,
상기 데이터 키 값들의 군집 레벨(cluster level)에 기초하여, 상기 데이터 키 값들을 변환시킬지 여부를 판단하는 단계
를 더 포함하는 스캔 가능한 동적 해싱 수행 방법. - 제5항에 있어서,
상기 데이터 키 값들을 변환시킬지 여부를 판단하는 단계는,
상기 데이터 키 값들 간의 공통 비트 개수를 상기 군집 레벨로서 결정하는 단계; 및
상기 군집 레벨이 미리 지정된 임계 레벨 이상인 경우에 응답하여, 상기 데이터 키 값들을 변환을 수행하는 단계
를 포함하는 스캔 가능한 동적 해싱 수행 방법. - 제1항에 있어서,
상기 키 값 분포 정보는 상기 데이터 키 값들의 분산 및 평균을 포함하는
스캔 가능한 동적 해싱 수행 방법. - 제1항에 있어서,
상기 분포 형태를 판단하는 단계는,
상기 분포 형태 및 복수의 연속확률분포들의 각 연속확률분포에 대응하는 형태에 매칭하는지 판단하는 단계; 및
상기 분포 형태가 상기 복수의 연속확률분포들 중 한 연속확률분포에 대응하는 형태에 매칭하는 경우에 응답하여, 상기 분포 형태를 매칭된 연속확률분포로 결정하는 단계
를 포함하는 스캔 가능한 동적 해싱 수행 방법. - 제8항에 있어서,
상기 분포 형태를 판단하는 단계는,
상기 분포 형태가 상기 복수의 연속확률분포들에 매칭되지 않는 경우에 응답하여, 상기 데이터 키 값들의 군집 레벨을 결정하는 단계; 및
상기 결정된 군집 레벨이 미리 지정된 임계 레벨 미만인 경우에 응답하여, 상기 데이터 키 값의 변환을 스킵(skip)하는 단계
를 포함하는 스캔 가능한 동적 해싱 수행 방법. - 제1항에 있어서,
상기 변환 함수를 결정하는 단계는,
상기 키 값 분포 정보의 분포 형태에 대한 누적 분포 함수(Cumulative distribution function, CDF)에 기초하여 상기 변환 함수를 결정하는 단계
를 포함하는 스캔 가능한 동적 해싱 수행 방법. - 제10항에 있어서,
상기 변환 함수를 결정하는 단계는,
선형 보간법에 기초하여 상기 누적 분포 함수를 일련의 선형 함수들의 집합으로 변환하는 단계
를 포함하는 스캔 가능한 동적 해싱 수행 방법. - 제11항에 있어서,
상기 변환 함수를 결정하는 단계는,
상기 데이터 키 값들을 데이터 키 값 개수에 따라 복수의 그룹으로 분할하고, 각 그룹에 대한 선형 함수를 계산하는 단계
를 포함하는 스캔 가능한 동적 해싱 수행 방법. - 제1항에 있어서,
상기 해쉬 인덱스 구조를 결정하는 단계는,
상기 데이터 키 값에 관련된 디렉토리(directory) 및 상기 디렉토리에 대응하는 버킷(bucket)을 생성하고, 상기 변환 함수에 따라 변환된 데이터 키 값들을 상기 버킷에 매핑하는 단계
를 포함하는 스캔 가능한 동적 해싱 수행 방법. - 제1항 및 제3항 내지 제13항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는 하나 이상의 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체.
- 데이터 키 값들에 대해 산출된 키 값 분포 정보의 분포 형태를 판단하고, 키 값 분포 정보의 상기 분포 형태를 판단한 결과에 기초하여, 상기 데이터 키 값들을 변환시키는 변환 함수를 결정하며, 기 결정된 변환 함수를 이용하여 상기 데이터 키 값들을 균일(uniform)한 분포에 대응하는 값으로 변환하고, 상기 변환된 데이터 키 값들에 관련된 해쉬 인덱스 구조(hash index structure)를 생성하는 프로세서; 및
상기 해쉬 인덱스 구조에 상기 변환된 데이터 키 값들을 저장하는 메모리;
를 포함하고,
상기 프로세서는,
균일한 분포에 관련된 값과 상기 키 값 분포 정보 간의 거리를 계산한 결과에 기초하여, 상기 데이터 키 값들을 변환시킬지 여부를 판단하는,
스캔 가능한 동적 해싱 수행 장치.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190137520 | 2019-10-31 | ||
| KR20190137520 | 2019-10-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20210052148A KR20210052148A (ko) | 2021-05-10 |
| KR102388458B1 true KR102388458B1 (ko) | 2022-04-21 |
Family
ID=75917951
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020200032602A Active KR102388458B1 (ko) | 2019-10-31 | 2020-03-17 | 데이터 키 값 변환 방법 및 장치 |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102388458B1 (ko) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114048247B (zh) * | 2021-11-16 | 2025-05-09 | 中国联合网络通信集团有限公司 | 数据匹配方法、装置、计算机设备及可读存储介质 |
| CN114490638B (zh) * | 2021-12-29 | 2025-03-11 | 北京乐普四方方圆科技股份有限公司 | 索引表创建方法和装置、目标记录查找方法和装置 |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008513891A (ja) | 2004-09-15 | 2008-05-01 | ディリジェント テクノロジーズ コーポレイション | データを検索し記憶するシステム及び方法 |
| JP2010531020A (ja) | 2007-06-18 | 2010-09-16 | 株式会社ソニー・コンピュータエンタテインメント | ピアツーピアネットワーク上の複数の受信者へのデータ配信の負荷分散 |
| US7962453B2 (en) | 2004-04-26 | 2011-06-14 | Oracle International Corporation | Dynamic redistribution of a distributed memory index when individual nodes have different lookup indexes |
| JP2013045181A (ja) | 2011-08-22 | 2013-03-04 | Nippon Telegr & Teleph Corp <Ntt> | データベースの負荷分散装置 |
| JP2014130489A (ja) * | 2012-12-28 | 2014-07-10 | Fujitsu Ltd | データ格納プログラム、データ検索プログラム、データ検索装置、データ格納方法及びデータ検索方法 |
| JP2015176407A (ja) | 2014-03-17 | 2015-10-05 | Necソリューションイノベータ株式会社 | 検索装置、検索方法、検索用プログラムおよび検索用データ構造 |
| KR101695277B1 (ko) | 2016-04-26 | 2017-01-11 | (주)시큐레이어 | 비정형 데이터의 정규화를 수행하도록 지원하는 방법 및 이를 이용한 컴퓨팅 장치 |
| US20180341596A1 (en) | 2017-05-26 | 2018-11-29 | Oracle International Corporation | Latchless, non-blocking dynamically resizable segmented hash index |
| WO2019111435A1 (ja) | 2017-12-05 | 2019-06-13 | 日本電気株式会社 | 異常判定装置、異常判定方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100325688B1 (ko) * | 1999-11-19 | 2002-02-25 | 오길록 | 해쉬 인덱스 구조의 확장 해슁 디렉토리 분할 시점 제어방법 및 이를 이용한 엔트리 삽입, 삭제, 검색 방법 |
| KR100599938B1 (ko) | 2004-08-09 | 2006-07-13 | 한국전자통신연구원 | 해쉬 테이블 주소 분산 장치 및 방법, 이를 이용한패턴매칭 장치 |
| US8880977B2 (en) * | 2011-07-22 | 2014-11-04 | Sandisk Technologies Inc. | Systems and methods of storing data |
| KR101340706B1 (ko) * | 2011-12-08 | 2013-12-11 | 한양대학교 에리카산학협력단 | 플래시 메모리 기반 저장 장치를 위한 하이브리드 해시 인덱스 |
-
2020
- 2020-03-17 KR KR1020200032602A patent/KR102388458B1/ko active Active
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7962453B2 (en) | 2004-04-26 | 2011-06-14 | Oracle International Corporation | Dynamic redistribution of a distributed memory index when individual nodes have different lookup indexes |
| JP2008513891A (ja) | 2004-09-15 | 2008-05-01 | ディリジェント テクノロジーズ コーポレイション | データを検索し記憶するシステム及び方法 |
| JP2010531020A (ja) | 2007-06-18 | 2010-09-16 | 株式会社ソニー・コンピュータエンタテインメント | ピアツーピアネットワーク上の複数の受信者へのデータ配信の負荷分散 |
| JP2013045181A (ja) | 2011-08-22 | 2013-03-04 | Nippon Telegr & Teleph Corp <Ntt> | データベースの負荷分散装置 |
| JP2014130489A (ja) * | 2012-12-28 | 2014-07-10 | Fujitsu Ltd | データ格納プログラム、データ検索プログラム、データ検索装置、データ格納方法及びデータ検索方法 |
| JP2015176407A (ja) | 2014-03-17 | 2015-10-05 | Necソリューションイノベータ株式会社 | 検索装置、検索方法、検索用プログラムおよび検索用データ構造 |
| KR101695277B1 (ko) | 2016-04-26 | 2017-01-11 | (주)시큐레이어 | 비정형 데이터의 정규화를 수행하도록 지원하는 방법 및 이를 이용한 컴퓨팅 장치 |
| US20180341596A1 (en) | 2017-05-26 | 2018-11-29 | Oracle International Corporation | Latchless, non-blocking dynamically resizable segmented hash index |
| WO2019111435A1 (ja) | 2017-12-05 | 2019-06-13 | 日本電気株式会社 | 異常判定装置、異常判定方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20210052148A (ko) | 2021-05-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11899641B2 (en) | Trie-based indices for databases | |
| CN110083601B (zh) | 面向键值存储系统的索引树构建方法及系统 | |
| US8868926B2 (en) | Cryptographic hash database | |
| AU2008249232B2 (en) | Database | |
| US8732139B2 (en) | Method and system for dynamically partitioning very large database indices on write-once tables | |
| KR102440128B1 (ko) | 통합된 객체 인터페이스를 위한 메모리 관리 장치, 시스템 및 그 방법 | |
| AU2002222096A1 (en) | Method of organising, interrogating and navigating a database | |
| CN111801665B (zh) | 用于大数据应用的分层局部敏感哈希(lsh)分区索引 | |
| KR20090048624A (ko) | 데이터 구조를 가지는 하나 이상의 장치 판독가능 매체, 및장치 실행가능 명령어를 구비한 하나 이상의 장치 판독가능 매체 | |
| CN105989015B (zh) | 一种数据库扩容方法和装置以及访问数据库的方法和装置 | |
| JPH1131096A (ja) | データ格納検索方式 | |
| KR102388458B1 (ko) | 데이터 키 값 변환 방법 및 장치 | |
| US12253974B2 (en) | Metadata processing method and apparatus, and a computer-readable storage medium | |
| Faust et al. | Footprint reduction and uniqueness enforcement with hash indices in SAP HANA | |
| Pagh | Basic external memory data structures | |
| EP1364317A2 (en) | Organising data in a database | |
| KR20010109945A (ko) | 비공간검색조건이 포함된 케이-최근접 질의를 위한알에스트리구조 및 점증적 최근접 방법 | |
| Chung | Indexed extendible hashing | |
| Mohammed et al. | Information retrieval using dynamic indexing | |
| CN120371832A (zh) | 一种支持二次定位的分区表主键索引方法及系统 | |
| Masud et al. | A hashing technique using separate binary tree | |
| Orsborn | DATABASE TECHNOLOGY-1DL124 | |
| AU2002231993A1 (en) | Organising data in a database |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20200317 |
|
| PA0201 | Request for examination | ||
| PG1501 | Laying open of application | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20211025 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20220408 |
|
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220415 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20220418 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |