빠른 팁: MongoDB JSON 데이터를 SingleStoreDB로 이동

추상적인



SingleStoreDB는 다중 모델 데이터베이스 시스템이며 JSON 데이터를 저장하고 쿼리하는 기능을 지원합니다. 이 기사에서는 JSON 데이터베이스 덤프를 MongoDB에서 SingleStoreDB로 이동하는 것이 얼마나 쉬운지 알아봅니다.

소개



MongoDB는 데이터베이스 제품에 대한 몇 가지 샘플 데이터 세트를 제공합니다. 이 기사에서는 이러한 데이터 세트 중 하나를 가져와 SingleStoreDB로 쉽게 가져올 수 있는 방법을 살펴보겠습니다.

SingleStoreDB 클라우드 계정 생성



A는 무료 SingleStoreDB Cloud 계정을 만드는 데 필요한 단계를 보여주었습니다. JSON 데모 그룹을 작업 공간 그룹 이름으로 사용하고 json-demo를 작업 공간 이름으로 사용합니다. 암호와 호스트 이름을 기록해 둡니다.

MongoDB 데이터 세트



MongoDB의 restaurants 데이터 세트를 사용합니다. GitHub에서 널리 찾을 수 있습니다. 구조는 상당히 평평합니다. 다음은 데이터 세트의 예입니다.

{ "URL":"http://www.just-eat.co.uk/restaurants-cn-chinese-cardiff/menu", "_id":{ "$oid":"55f14312c7447c3da7051b26" }, "address":"228 City Road", "address line 2":"Cardiff", "name":".CN Chinese", "outcode":"CF24", "postcode":"3JH", "rating":5, "type_of_food":"Chinese" } 


SingleStoreDB는 문서 Using SingleStore as a JSON Document Database에 표시된 것처럼 더 복잡한 JSON을 처리할 수 있습니다.

SingleStoreDB에 JSON 데이터 로드



먼저 MySQL 클라이언트를 사용하여 SingleStoreDB 클라우드에 연결해 보겠습니다.

mysql --local-infile \ -u admin \ -h <host> \ -P 3306 \ --default-auth=mysql_native_password \ -p 

<host>는 SingleStoreDB Cloud에서 얻은 값으로 대체됩니다.

이제 데이터베이스를 생성합니다.

CREATE DATABASE json_demo; 


JSON 데이터를 SingleStoreDB로 로드할 때 사용할 수 있는 몇 가지 옵션이 있습니다. 이 기사에서 두 가지 가능성을 살펴보겠습니다.

1. 단일 테이블 열에 JSON 데이터 저장



이 옵션에서 JSON 데이터의 각 행은 단일 테이블 열에 저장됩니다.

먼저 데이터베이스 테이블을 만듭니다.

USE json_demo; CREATE TABLE test1 ( whole JSON NOT NULL ); 

NOT NULL 를 사용하면 유효하지 않은 JSON을 저장하려는 시도가 있는 경우 SingleStoreDB에서 오류가 발생합니다.

다음으로 JSON 데이터를 다음과 같이 로드합니다.

LOAD DATA LOCAL INFILE '/path/to/restaurants.json' INTO TABLE test1 FORMAT JSON ( whole <- % ); 

/path/to/를 JSON 파일이 있는 실제 경로로 바꿉니다.

다음과 같이 테이블을 쿼리할 수 있습니다.

SELECT * FROM test1 LIMIT 1\G 


결과는 다음과 유사해야 합니다.

*************************** 1. row *************************** whole: {"URL":"http://www.just-eat.co.uk/restaurants-007takeaway-s65/menu","_id":{"$oid":"55f14312c7447c3da7051b2b"},"address":"6 Drummond Street","address line 2":"Rotherham","name":"007 Takeaway","outcode":"S65","postcode":"1HY","rating":6,"type_of_food":"Pizza"} 


2. 여러 테이블 열에 JSON 데이터 저장



이 옵션에서 JSON 데이터의 각 행은 여러 테이블 열에 저장됩니다.

먼저 데이터베이스 테이블을 만듭니다.

CREATE TABLE test2 ( URL TEXT, id JSON NOT NULL, address1 TEXT, address2 TEXT, name TEXT, outcode TEXT, postcode TEXT, rating FLOAT, type_of_food TEXT ); 


여기서는 초기 테스트를 위한 많은 필드에 TEXT를 사용했습니다.

다음으로 JSON 데이터를 다음과 같이 로드합니다.

LOAD DATA LOCAL INFILE '/path/to/restaurants.json' INTO TABLE test2 FORMAT JSON ( URL <- URL default "", id <- _id, address1 <- address default "", address2 <- `address line 2` default "", name <- name default "", outcode <- outcode default "", postcode <- postcode default "", rating <- rating default NULL, type_of_food <- type_of_food default "" ); 


다음과 같이 테이블을 쿼리할 수 있습니다.

SELECT * FROM test2 LIMIT 1\G 


결과는 다음과 유사해야 합니다.

*************************** 1. row *************************** URL: http://www.just-eat.co.uk/restaurants-328chineseonline-cf81/menu id: {"$oid":"55f14312c7447c3da7051b55"} address1: 2-4 Commercial Street address2: Aberbargoed name: 328 Chinese Online outcode: CF81 postcode: 9BW rating: 5 type_of_food: Chinese 


요약



SingleStoreDB는 JSON 데이터를 지원하는 매우 유능하고 유연한 데이터베이스 제품입니다. 이 짧은 기사에서는 MongoDB JSON 데이터를 SingleStoreDB에 저장하는 두 가지 옵션을 살펴보았습니다. documentation에는 자세한 내용과 예제가 포함되어 있습니다.

좋은 웹페이지 즐겨찾기