ArangoDB는 데이터를 문서나 그래프 데이터베이스로 저장할 수 있다.
export(내보내기)
arangoexport --collection [collection_name] --output-directory "[directory_name]"
위의 명령어를 실행하면 [directory_name]의 폴더가 생성되며, [collection_name] 컬렉션이 해당 폴더 내부에 [collection_name] 이름의 json 배열로 저장된다. 한 번에 둘 이상의 컬렉션을 export하려면 여러 --collection 옵션을 지정한다.
기본 출력 디렉토리는 export이다.
arangoexport는 기본적으로 기본 엔드 포인트를 사용하여 _system 데이터베이스에 연결한다.
즉 옵션을 통해서 데이터베이스를 명시해주지 않으면 _system 데이터베이스에서 해당 컬렉션을 찾게된다.
다른 데이터베이스 또는 다른 엔드 포인트를 연결하거나 인증을 사용하려는 경우 다음 명령 줄 옵션을 사용할 수 있다.
- --server.database [database_name] : [database_name] 데이터 베이스 연결
- --server.endpoint [endpoint_name] : [endpoint_name] 엔드포인트
- --server.username [user_name] : 사용자 이름
- --server.password [password] : 사용할 비밀번호(이 옵션을 생략하면 비밀번호를 입력하라는 메시지가 표시된다)
- --server.authentication <bool> : 인증 사용 여부
위는 TL_SCCO_EMD 폴더를 생성하여 GEO_DATA라는 데이터베이스의 TL_SCCO_EMD 컬렉션을 json(기본) 파일로 저장한다.
출력 파일의 타입을 변경하기 위해서는 아래의 옵션을 사용한다.
- --type [json/josnl/csv/xml/xgmml]
TL_SCCO_EMD 폴더 내부에는 ENCRYPTION와 TL_SCCO_EMD.json이라는 파일이 있는데, ENCRYPTION은 데이터 암호화 관련 파일이다. 해당 데이터는 암호화 적용을 하지 않았기 때문에 cat 명령어를 사용하면 none이라는 문구가 출력된다.
import(가져오기)
arangoimport --file [file_name] --type [data_type] --collection [collection_name]
export와 동일하게 데이터베이스를 명시해주지 않으면 기본값으로 _system 데이터베이스에 연결되니, 다른 데이터베이스에 있는 collection에 데이터를 넣으려면, server.database 옵션을 이용해 연결하고자하는 데이터베이스를 명시해주어야한다.
ERROR import file is too big. please increase the value of --batch-size (currently 1048576)
만약 import 시 위와 같은 에러 메시지가 발생했다면, 파일이 너무 크기 때문에 발생하는 에러로, 한 번에 가져올 수 있는 배치 사이즈를 증가시키라는면 된다.
--batch-size 옵션을 이용해 100000000000000이라는 대략의 큰 숫자를 입력해주었다.
숫자가 너무 크면 알아서 최대치로 바뀐다.
아래와 같이 create 개수와 warnings/errors, updated/replaced, ignored의 수치로 데이터 import 성공 여부를 확인할 수있다.
:8529 포트로 접속해보면 비어있던 collection에 데이터가 제대로 들어간 것을 확인할 수 있다.
'BackEnd > Database' 카테고리의 다른 글
[MongoDB] 자주 쓰는 명령어(Command) (0) | 2021.08.23 |
---|---|
[Database] MongoDB(NoSQL) VS MySQL(SQL) (0) | 2021.08.20 |
[Neo4j] 그래프 Database Neo4j의 Cypher 언어 (0) | 2021.05.25 |
[mysql] Ubuntu 18.04.4 mysql 설치, 외부 접속을 위한 기본 셋팅 (0) | 2021.01.07 |
댓글