'IT'에 해당되는 글 79건

Apache Airflow를 기반으로 하는 완전 관리형 워크플로 조정 서비스입니다.

신규 고객에게는 처음 90일 동안 Composer 또는 기타 Google Cloud 제품에 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.

 

 

하이브리드 및 멀티 클라우드 환경을 아우르는 파이프라인을 작성, 일정 예약, 모니터링합니다.

Apache Airflow 오픈소스 프로젝트에 빌드되며 Python으로 작동

종속되지 않고 사용이 간편합니다.

 

이점

완전 관리형 워크플로 조정

Cloud Composer만의 관리 기능과 Apache Airflow 호환성 덕분에 리소스를 프로비저닝하기보다 워크플로 작성, 예약, 모니터링에 집중할 수 있습니다.

 

Google Cloud 제품과 통합

BigQuery, Dataflow, Dataproc, Datastore, Cloud Storage, Pub/Sub, AI Platform 등의 Google Cloud 제품과 엔드 투 엔드 통합을 통해 사용자는 자유롭게 파이프라인을 완전히 조정할 수 있습니다.

 

하이브리드 및 멀티 클라우드 지원

파이프라인이 온프레미스, 여러 클라우드, Google Cloud 내부 등 어디에 위치하든 관계없이 단일 조정 도구를 통해 워크플로를 작성, 예약, 모니터링합니다.

 

 

주요 특징

하이브리드 및 멀티 클라우드

온프레미스와 퍼블릭 클라우드를 넘나드는 워크플로를 조정하여 클라우드로의 이전 과정을 간소화하거나 하이브리드 데이터 환경을 유지합니다. 여러 클라우드에 걸쳐 데이터, 처리, 서비스를 연결하는 워크플로를 만들어 통합된 데이터 환경을 제공합니다.

 

오픈소스

Cloud Composer는 Apache Airflow를 기반으로 빌드되어 사용자에게 특정 서비스에 종속되지 않을 자유와 이동성을 선사합니다. Google에서도 참여하고 있는 이 오픈소스 프로젝트는 광범위한 플랫폼과 통합되는 것은 물론 고객에게 특정 서비스에 종속되지 않을 자유를 줍니다. 지원 플랫폼의 수는 Airflow 커뮤니티의 성장에 따라 계속 늘어날 전망입니다.

 

간편한 조정

Cloud Composer 파이프라인은 Python을 사용한 DAG(Directed Acyclic Graph)로 구성되어 있어 모든 사용자가 쉽게 사용할 수 있습니다. 클릭 한 번으로 배포하여 실제 워크플로의 다양한 커넥터와 여러 그래픽 표현이 들어 있는 라이브러리에 즉시 액세스할 수 있으므로 문제 해결 과정을 간소화할 수 있습니다. DAG(Directed Acyclic Graph)의 자동 동기화 기능 덕분에 일정에 맞춰 업무를 처리할 수 있습니다.

 

 

 

 

 

'IT > Google Cloud Platform' 카테고리의 다른 글

Dataflow  (0) 2022.06.06
Pub/Sub란 무엇인가요?  (0) 2022.04.21
블로그 이미지

swhwang

,

빠르고 경제적이며 서버리스 방식인 통합 스트리밍 및 일괄 데이터 처리를 제공합니다.

신규 고객에게는 처음 90일 동안 Dataflow 또는 기타 Google Cloud 제품에 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.

 

완전 관리형 데이터 처리 서비스

처리 리소스의 프로비저닝 및 관리 자동화

작업자 리소스가 수평식으로 자동 확장되어 리소스 활용률 극대화

Apache Beam SDK를 통한 OSS 커뮤니티 기반의 혁신

안정적이고 일관성 있는 단 한 번의 처리

 

이점

신속한 스트리밍 데이터 분석

Dataflow를 사용하면 데이터 지연 시간을 줄이면서 스트리밍 데이터 파이프라인을 빠르고 간편하게 개발할 수 있습니다.

 

운영 및 관리 간소화

Dataflow는 서버리스 방식으로 데이터 엔지니어링 워크로드에서 운영 오버헤드를 제거하므로 팀이 서버 클러스터를 관리하는 대신 프로그래밍에 집중할 수 있습니다.

 

총 소유 비용 절감

Dataflow는 리소스 자동 확장과 비용 최적화된 일괄 처리 기능의 결합으로 무제한에 가까운 용량을 제공하므로 시기에 따라 변동하거나 급증하는 워크로드도 과다한 지출 없이 관리할 수 있습니다.

 

주요 특징

리소스 자동 확장 및 동적 작업 재균등화

데이터 인식 리소스 자동 확장을 통해 파이프라인 지연 시간을 최소화하고 리소스 사용률을 극대화하며 데이터 레코드당 처리 비용을 줄입니다. 데이터 입력은 작업자 리소스 사용률을 균등화하기 위해 자동으로 파티션이 나누어지며 지속적으로 다시 분산되고, '핫 키'가 파이프라인 성능에 미치는 영향을 줄입니다.

일괄 처리 시 유연한 예약 및 가격 책정

심야 작업과 같이 작업 예약 시간을 유연하게 처리해야 하는 경우 유연한 리소스 예약(FlexRS)으로 일괄 처리 비용을 낮춰줍니다. 이러한 유연한 작업은 6시간 안에 실행 대상으로 검색되도록 보장되어 큐에 배치됩니다.

 

 

즉시 사용할 수 있는 실시간 AI 패턴

즉시 사용 가능한 패턴을 통해 사용 설정된 Dataflow의 실시간 AI 기능은 인간에 가까운 지능으로 방대한 이벤트에 대해 실시간 대응을 지원합니다. 고객은 예측 분석 및 이상 감지부터 실시간 맞춤설정 및 기타 고급 분석 사용 사례에 이르는 지능형 솔루션을 빌드할 수 있습니다. 

 

'IT > Google Cloud Platform' 카테고리의 다른 글

Cloud Composer  (0) 2022.06.08
Pub/Sub란 무엇인가요?  (0) 2022.04.21
블로그 이미지

swhwang

,

요점: Pub/Sub란 무엇이며, 비즈니스에 Pub/Sub가 필요한 이유, 비슷한 기술에 비해 Pub/Sub의 장점, 검색어 주제, 게시자, 구독자를 포함한 핵심 Pub/Sub 개념에 대해 이해합니다.

 

Pub/Sub를 통해 서비스는 비동기적으로 100밀리초의 지연 시간으로 통신할 수 있습니다.

Pub/Sub는 데이터를 수집하고 배포하는 스트리밍 분석 및 데이터 통합 파이프라인에 사용됩니다. 이는 서비스 통합을 위한 메시징 중심 미들웨어 또는 태스크 병렬화를 위한 큐로도 효과적입니다.

Pub/Sub를 사용하면 게시자  구독자라는 이벤트 제작자 및 소비자 시스템을 만들 수 있습니다. 게시자는 동기식 리모트 프로시져 콜(RPC)이 아니라 이벤트를 브로드캐스트하여 구독자와 비동기적으로 통신합니다.

게시자는 이러한 이벤트가 처리되는 방식이나 시기에 관계없이 Pub/Sub 서비스에 이벤트를 보냅니다. 그런 다음 Pub/Sub는 이벤트에 응답해야 하는 모든 서비스에 이벤트를 전달합니다. 게시자가 데이터를 수신하기를 기다려야 하는 RPC를 통해 통신하는 시스템과 비교하면 이러한 비동기식 통합은 전반적인 시스템의 유연성과 견고성을 높입니다.

 

 

 

빠른 시작: 작동하는 Pub/Sub 시스템 구축  |  Cloud Pub/Sub 문서  |  Google Cloud

의견 보내기 빠른 시작: 작동하는 Pub/Sub 시스템 구축 소개 이 빠른 시작에서는 동기 RPC가 아닌 Pub/Sub를 통해 메시지를 전송하는 방법으로 통신하는 간단한 애플리케이션 모음을 설정하는 과정을

cloud.google.com

 

일반 사용 사례

  • 사용자 상호작용 및 서버 이벤트 수집. 최종 사용자 앱의 사용자 상호작용 이벤트 또는 시스템의 서버 이벤트를 사용하려면 이를 Pub/Sub로 전달한 다음 Dataflow와 같은 스트림 처리 도구를 사용하여 BigQuery, Bigtable, Cloud Storage, 기타 데이터베이스에 전달합니다. Pub/Sub를 사용하면 여러 클라이언트의 이벤트를 동시에 수집할 수 있습니다.
  • 실시간 이벤트 배포. 원시 또는 처리된 이벤트를 팀과 조직 전체의 여러 애플리케이션에서 실시간으로 처리할 수 있습니다. 이는 '엔터프라이즈 이벤트 버스' 및 이벤트 기반 애플리케이션 설계 패턴을 지원합니다. Pub/Sub를 사용하면 이벤트를 Pub/Sub로 내보내는 여러 Google 시스템과 통합할 수 있습니다.
  • 데이터베이스 간 데이터 복제. Pub/Sub는 일반적으로 데이터베이스의 변경 이벤트를 배포하는 데 사용됩니다. 이러한 이벤트는 BigQuery 및 다른 데이터 스토리지 시스템에서 데이터베이스 상태 및 상태 기록의 뷰를 구성하는 데 사용될 수 있습니다.
  • 병렬 처리 및 워크플로. Pub/Sub 메시지를 사용하여 Cloud Functions에 연결하면 텍스트 파일 압축, 이메일 알림 전송, AI 모델 평가, 이미지 형식 재지정과 같은 다수의 작업을 여러 작업자 간에 효율적으로 배포할 수 있습니다.
  • 엔터프라이즈 이벤트 버스. 전사적 실시간 데이터 공유 버스를 만들어 비즈니스 이벤트, 데이터베이스 업데이트, 분석 이벤트를 조직 전체에 배포할 수 있습니다.
  • 애플리케이션, 서비스, IoT 기기에서 데이터 스트리밍. 예를 들어 SaaS 애플리케이션은 이벤트의 실시간 피드를 게시할 수 있으며 가정용 센서는 Dataflow를 통해 데이터를 다른 Google Cloud 제품에서 사용할 수 있도록 Pub/Sub로 데이터를 스트리밍할 수 있습니다.
  • 분산 캐시 갱신. 예: 애플리케이션이 무효화 이벤트를 게시해, 변경된 객체의 ID를 업데이트합니다.
  • 안정성을 위한 부하 분산. 예: 서비스 인스턴스가 여러 영역에 있는 Compute Engine에 배포되어도 공통 주제를 구독할 수 있습니다. 영역에 장애가 발생하면 나머지가 자동으로 부하를 선택합니다.

Pub/Sub 서비스 유형

Pub/Sub는 두 가지 서비스로 구성됩니다.

  • Pub/Sub 서비스. 이 메시지 서비스는 대부분의 사용자와 애플리케이션에서 기본적으로 사용되는 옵션입니다. 자동 용량 관리와 함께 가장 높은 안정성과 가장 큰 통합 기능을 제공합니다. Pub/Sub는 최소한 두 개 이상의 영역에 모든 데이터의 동기식 복제를 보장하고 세 번째 추가 영역에 최선의 복제를 보장합니다.
  • Pub/Sub 라이트 서비스. 저비용을 목적으로 하는 유사한 별개의 메시지 서비스입니다. Pub/Sub에 비해 안정성이 낮습니다. 영역별 또는 리전별 주제 스토리지를 제공합니다. 영역 라이트 주제는 하나의 영역에만 저장됩니다. 리전 라이트 주제는 데이터를 두 번째 영역에 비동기식으로 복제합니다. 또한 Pub/Sub 라이트를 사용하려면 스토리지 및 처리량 용량을 사전 프로비저닝하고 관리해야 합니다. Pub/Sub 라이트는 매우 저렴한 비용을 달성하는 것이 추가 운영 작업과 낮은 안정성을 상쇄하는 애플리케이션에만 적용됩니다.

Pub/Sub와 다른 메시징 기술 비교

Pub/Sub는 Apache Kafka  Pulsar의 수평적 확장성을 Apache ActiveMQ 및 RabbitMQ와 같은 기존 메시징 미들웨어의 기능(데드 레터 큐와 필터링 등)과 결합합니다.

 

메시징 미들웨어에서 사용하는 또 다른 기능은 파티션 기반이 아닌 메시지당 동시 로드입니다. Pub/Sub는 개별 메시지를 구독자 클라이언트에 '임대'한 다음 지정된 메시지가 성공적으로 처리되었는지 주기적으로 확인합니다.

반대로 다른 수평 확장형 메시지 시스템은 수평 확장에 파티션을 사용합니다. 이렇게 하면 구독자가 각 파티션에서 메시지를 순서대로 처리해야 하며 동시 클라이언트 수가 파티션 수로 제한됩니다. 메시지당 처리는 구독자 애플리케이션의 동시 로드를 극대화하고 게시자/구독자의 독립성을 보장하는 데 도움이 됩니다.

 

참고: 파티션 기반 동시 로드는 Pub/Sub 라이트에서 사용되지만 Pub/Sub에서는 사용되지 않습니다.

 

서비스 간 통신 및 서비스와 클라이언트 간 통신

Pub/Sub의 용도는 최종 사용자 또는 IoT 클라이언트와의 통신이 아닌 서비스 간 통신입니다. 다른 제품에서는 다른 패턴이 더 잘 지원됩니다.

이러한 서비스의 조합을 사용하여 클라이언트 -> 서비스 -> 데이터베이스 패턴을 빌드할 수 있습니다. 예는 WebSocket을 통한 Pub/Sub 메시지 스트리밍 가이드를 참조하세요.

 

 

통합

Pub/Sub는 다른 Google Cloud 제품과 많이 통합되어 모든 기능을 갖춘 메시징 시스템을 만듭니다.

  • 스트림 처리 및 데이터 통합. Dataflow 템플릿  SQL을 포함한 Dataflow에서 지원되며 이를 통해 데이터를 처리하고 Cloud Storage에서 BigQuery 및 데이터 레이크에 데이터를 통합할 수 있습니다. Pub/Sub에서 Cloud Storage, BigQuery, 기타 제품으로 데이터를 이동하는 Dataflow 템플릿은 Cloud Console의 Pub/Sub 및 Dataflow UI에서 사용할 수 있습니다. 특히 Dataproc으로 관리되는 경우 Apache Spark와의 통합도 사용할 수 있습니다. Spark + Dataproc에서 실행되는 통합 및 처리 파이프라인의 시각적 구성은 Datafusion을 사용하여 수행할 수 있습니다.
  • 모니터링, 알림, 로깅. Monitoring 및 Logging 제품에서 지원됩니다.
  • 인증 및 IAM. Pub/Sub는 다른 Google Cloud 제품에서 사용하는 표준 OAuth 인증을 사용하며 세분화된 IAM을 지원하여 개별 리소스에 대한 액세스 제어를 지원합니다.
  • API. Pub/Sub는 여러 언어의 클라이언트 라이브러리와 함께 표준 gRPC 및 REST 서비스 API 기술을 사용합니다.
  • 트리거, 알림, 웹훅. Pub/Sub는 웹훅에 대한 HTTP POST 요청으로 푸시 기반의 메시지 전송을 제공합니다. 이렇게 하면 Cloud Functions 또는 기타 서버리스 제품을 사용하여 워크플로 자동화를 쉽게 구현할 수 있습니다.
  • 조정. Pub/Sub는 여러 단계의 서버리스 워크플로에 선언적으로 통합할 수 있습니다. 빅데이터 및 분석 조정은 종종 Pub/Sub 트리거를 지원하는 Cloud Composer로 이루어집니다.

핵심 개념

  • 주제. 게시자가 메시지를 전송하는, 이름이 지정된 리소스입니다.
  • 구독. 특정 단일 주제의 메시지 스트림이 구독 애플리케이션으로 전달되는 과정을 나타내는, 이름이 지정된 리소스입니다. 구독과 메시지 전송 시맨틱스에 대한 자세한 내용은 구독자 가이드를 참조하세요.
  • 메시지. 게시자가 주제에 전달해 결과적으로 구독자에게 전달되는 데이터와 (선택사항) 속성의 조합입니다.
  • 메시지 속성. 게시자가 메시지에 대해 정의할 수 있는 키-값 쌍입니다. 예를 들어 키 iana.org/language_tag와 값 en을 메시지에 추가하여 영어를 사용하는 구독자가 읽을 수 있다고 표시하는 식입니다.
  • 게시자. 메시지를 만들고 주제에 전송하는 애플리케이션입니다.
  • 구독자. 메시지를 수신하기 위해 주제를 구독하는 애플리케이션입니다.
  • 확인(또는 'ack'). 구독자가 메시지를 정상적으로 수신한 후 구독자가 Pub/Sub에 보내는 신호입니다. 확인된 메시지는 구독의 메시지 큐에서 삭제됩니다.
  • 푸시 앤 풀. 두 가지 메시지 전송 방법입니다. 구독자는 Pub/Sub가 구독자가 선택한 엔드포인트로 내보내거나 구독자가 서비스에서 가져온 메시지를 수신합니다.

게시자-구독자 관계는 다음 다이어그램과 같이 일대다(팬아웃), 다대일(팬인), 다대다 형태를 취합니다.

다음 다이어그램은 메시지가 게시자에서 구독자로 전달되는 방법을 보여줍니다. Push 전달의 경우 확인은 Push 요청에 대한 응답에서 암시적이지만 Pull 전달의 경우 별도의 RPC가 필요합니다.

 

'IT > Google Cloud Platform' 카테고리의 다른 글

Cloud Composer  (0) 2022.06.08
Dataflow  (0) 2022.06.06
블로그 이미지

swhwang

,

Server Process

IT/MySQL 2019. 1. 18. 19:41


mysqld(서버 프로그램)프로세스 다음3가지의 레이어로 구분할수 있습니다.


1.     접속 layer:접속을 처리. layer는 모든서버 소프트웨어(Web/메일/LDAP서버)에 존재


2.     SQL layer:접속된 어플리케이션에 의해 접속된 SQL쿼리를 처리


3.     Storage layer:데이터의 저장을 처리. 데이터는 다른 물리 미디어에 다른 형식과 구조로 저장할수 있음


'IT > MySQL' 카테고리의 다른 글

MySQL Administrative and Utility Programs  (0) 2019.01.18
[mySQL5.5] 01장. Introduction  (0) 2019.01.18
Client Program  (0) 2018.05.11
MySQL Architecture  (0) 2018.05.11
MySQL Online Documentation  (0) 2018.05.11
블로그 이미지

swhwang

,




이 프로그램들도, command interpreter로부터 실행합니다.


Mysqldumpslow Perl스크립트입니다.


또한, 많은 프로그램이 있습니다. 일부 프로그램을 실행할때에는, 데이터의 손실과 파손을 막기위해서, 사전에 서버를 정지하거나, 현재의 테이블을 백업할 필요가 있습니다.


관리 프로그램 유틸리티 프로그램의 상세는, [MySQL Reference Manual]

(http://dev.mysql.com/doc/refman/5.5/en/programs-admin-utils.html.) 참조해주십시요.

 


'IT > MySQL' 카테고리의 다른 글

Server Process  (0) 2019.01.18
[mySQL5.5] 01장. Introduction  (0) 2019.01.18
Client Program  (0) 2018.05.11
MySQL Architecture  (0) 2018.05.11
MySQL Online Documentation  (0) 2018.05.11
블로그 이미지

swhwang

,

 

n  MySQL OverView

 

     MySQL의 특징

Open source 관계형 데이터베이스

                            속도,

                            사용의 편의성 제공

                            C,C++,Java,Perl등 다양한 API지원

                            다양한 platform에 포팅 가능

                           

    History

1995       T.c.X사의 Michael Widenius와 친구들이 MySQL AB설립

                            Multi-threaded RDBMS

                            PHP 지원에 탁월함

                            현재 5천만건 이상의 record 손쉽게 지원

                            테이블크기 65535 TB(MyISAM)까지 지원

                            11 million installations 이상

 

1999       MySQL 3.23.x

 

2001   4.0.x

                      mysql 명령어에 --xml option 추가 

                      Secure connections (with SSL) 지원

                      Unsigned BIGINT 추가

                            ORDER BY ... DESC 구문에서 인덱스 사용

                       Allow SELECT expression LIMIT ....

2003        4.1.x

                            Unicode (UTF8) support.

                            mode for ANSI_QUOTES 지원

                            Support for GIS (Geometrical data)

                            New operators  MOD , DIV

                            SELECT ... FROM DUAL is an alias for SELECT ....

                            BTREE index on MEMORY (HEAP) tables.

 

2003.12 5.0.x

                            read-only 커서 지원

                            updatable 지원

                            stored procedures and functions 지원

                      trigger 지원

                      Strict mode 지원 : SQL_MODE에서

                            support for SUM(DISTINCT), MIN(DISTINCT), and MAX(DISTINCT).

                            Basic support for stored procedures and functions.

 

2005   5.1.x

                            Partitioning

                            Row-based replication 지원

                            빠른 ALTER TABLE

                            Plugin API

                            Event scheduler

                            Server log tables 지원

                      Improvements to INFORMATION_SCHEMA

                            mysql_upgrade was added

                            MySQL Cluster 별도의 product  release: Clustering support is no longer available

 

현재        5.5

InnoDB : 기본 storage engine

Improved Performance and Scalability : Multiple Buffer Pool Instances

                            가용성 증가

 

                           

 

n  GPL [ General Public License ]

자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이센스이다.

미국의 리처드 스톨만(Richard Stallman) GNU-프로젝트로 배포된 프로그램의 라이센스로 사용하기 위해 작성했다.

① 컴퓨터 프로그램을 어떤 목적으로든지 사용할 수 있다

   다만 법으로 제한하는 행위는 할 수 없다.

② 컴퓨터 프로그램의 실행 복사본은 언제나 프로그램의 소스 코드와 함께 판매하거나 소스코드를 무료로 배포해야 한다.

③ 컴퓨터 프로그램의 코드를 용도에 따라 결정할 수 있다

④ 변경된 컴퓨터 프로그램 역시 프로그램의 소스 코드를 반드시 공개 배포해야 한다.

     변경된 컴퓨터 프로그램 역시 반드시 똑같은 라이선스를 취해야 한다. GPL 라이선스를 적용해야 한다.


'IT > MySQL' 카테고리의 다른 글

Server Process  (0) 2019.01.18
MySQL Administrative and Utility Programs  (0) 2019.01.18
Client Program  (0) 2018.05.11
MySQL Architecture  (0) 2018.05.11
MySQL Online Documentation  (0) 2018.05.11
블로그 이미지

swhwang

,

해시 테이블은 보통 여러가지 이름으로 나오기도 합니다만, 예를 들면 python/swift의 dictionary, JSON, PHP의 배열, java/c++의 hashmap등

이것은 컴퓨터안에서 어떻게 실현했는지 설명하고자 합니다.


해시테이블의 특징


1개의 값에 대해서 유일한 키

응? 반대아니야? 라고 생각하는 사람 있을지 모르지만, 사실은 해시테이블을 만들었을때 다른 값을 같은 키로 나누어 버리는 경우도 있는데, 이것을 '충돌'이라고 부른다.




추가라고 부르는 것이 빠르다.


해시테이블도 배열계의 데이터구조의 한 종류로써, 다른 두가지는 배열과 링크리스트가 된다.

배열은 값을 부를때 주소가 있으면 한순간에 끝나지만, 1개의 값을 추가, 삭제하면, 다른 값도 채워지고, 이사하지 않으면 안된다.


링크 리스트는  추가가 빠르지만 (마지막에 들어가기 때문에), 호출 할 때 들어가있는 데이터를 하나씩 확인하지 않으면 안된다.

해시 테이블은 추가 할 때 해시 함수를 돌려 키에서 주소를 얻고 다른 값에 영향을주지 않는쪽으로 호출 할때 키 만 있으면 주소도 키에서 알게 즉시 값을 질문한다.



원리


key ====해시 함수를 건다.====> H(key) ====주소 GET====> (key|value)

이것으 흐름이다.

해시 함수

그러면 해시 함수는 어떤 것일까

간단하게 말하면 : 어떤 키가 와도 우선 고유 한 숫자로 변환하는 메서드


예 :

input = [23, 7, 11, 4, 10 (키)

이것은 분명히 5를 나누어 그 나머지를 가지고가는 경우에 중복이 없을 것

Hash 함수 h (key) = n mod 5

Hash 후 [3, 2, 1, 4, 0 (H (key))


해시 테이블에 사용하는 해시 함수는이 세 가지를 요구하고있다

알기 쉬울것

주소를 평균적으로 배부

키의 중복을 피할것


자주 사용되는 해시 함수

1.키가 숫자의 경우 일차 방정식을 취할 : H (key) = a · key + b

2.키가 숫자 인 경우 그 키는 징계 여부를 찾는 중복이 적은 일부를 가지고

3.키가 숫자의 경우, 그리고 징계도 없을 것 같고, 키를 제곱을 복용 제곱 한 결과 가운데 일부를 취한다. (제곱 한 결과 중간 부분은 숫자 전체와 관계 있기 때문에 중복을 피할 수)

4.키를 몇 등분하여 그것을 전부 더한다.

5.난수 함수를 사용

6.테이블의 길이를 나누어 나머지를 구한다.

다양한 소개했다고 생각하지만, 실제로 사용할 때 해시 함수는 중복없이 없으면 어느것이라도 좋다.


해시 테이블의 예

데이터:

이름 

 손오공

 크리닝

 피콜로

 성적

 76

 78

 66


이것을 이름 -> 성적의 형태로 해시테이블을 만들면 

이름의 생략어의 알파벳순이라는 해시함수를 사용하자.

 이름

손오공 

크리닝 

피콜로 

 이름의 약어

 OK

 RN

 KR

 알파벳 순

 15 11

 18 14

 11 18

 H(key)

 15+11

18+14 

11+18 

 주소

 26

 32

 29

성적 

 76

 78

 66

이런 느낌



'IT > Database' 카테고리의 다른 글

MariaDB versus MySQL - Compatibility  (0) 2017.04.25
MariaDB Server  (0) 2017.04.25
MariaDB MaxScale이란?  (0) 2017.04.25
블로그 이미지

swhwang

,

기관차 토마스

IT/게임 2018. 5. 15. 12:40
기관차 토마스
https://youtu.be/AMwe11M3mPQ

'IT > 게임' 카테고리의 다른 글

기차 애니메이션  (0) 2018.05.15
댄스  (0) 2017.09.30
네트워크 프로그래밍의 기초  (0) 2016.10.03
블로그 이미지

swhwang

,