What is a NoSQL Database? How is Cloud Firestore structured? – Get to Know Cloud Firestore Ep.1

스피커 파이어 스토어는 무엇입니까? 왜, 수평 적으로 확장 가능한 NoSQL 문서입니까? 클라우드의 데이터베이스 아, 여기서 끝난 것 같아 그거 쉽지

그게 뭐야? 오, 우린 우린 더 많은 설명이 필요해? 알았어, 좋아, 내가 좀 더 오래 머물 수있을 것 같아 크레딧을 굴러 가자

[음악 재생] 그럼 Cloud Firestore에 대해 이야기합시다 Cloud Firestore는 NoSQL 데이터베이스로 알려져 있습니다 이제 실시간 데이터베이스 또는 몽고에서 온 경우 세상과 이미 NoSQL 데이터베이스에 대해 모두 알고, 안녕, 운이 좋았어 계속해서 앞으로 건너 뛸 수 있습니다 이 동영상은 8 분 동안 재생됩니다

아마도 당신을 위해 검토 될 것입니다 하지만 나머지 사람들은 네가 전통적인 관계형 데이터베이스에 익숙하다 MySQL이나 SQLite Core와 같은 모바일 프레임 워크와 같은 것들 데이터, 당신은 아마 모든 데이터를 유지하는 데 익숙합니다 이런 식으로 보이는 테이블에 모든 테이블에는 자체 스키마가 있습니다

해당 테이블의 모든 행이 매우 엄격하게 정의됨을 의미합니다 특정 열 집합이 있습니다 행당, 그리고 모든 열을 추가 할 수 있습니다 어떤 종류의 데이터 유형에 대한 자체 엄격한 규칙이 있습니다 들어간다

오, 미안, 친구 나이는 정수 여야합니다 그것들이 규칙입니다 나는 그들을 만들지 않았다 이 매우 엄격한 스키마 때문에, 일반적으로 테이블 당 하나의 유형의 객체를 저장하게됩니다

귀하의 데이터베이스에 그리고 하나의 객체를 연결하려면 다른 객체가 다른 테이블에 걸려있는 상태에서, 일반적으로 다른 컬럼을 생성하여이를 수행합니다 고유 ID를 포함하는 외래 키로 그 다른 테이블에있는 다른 엔트리의 예를 들어 데이터베이스를 만들고 있다고 가정 해 봅시다 대중 음식점 검토 위치를 위해 내 식당을 대표 할 탁자가 하나 있을지도 모르지만, 내 리뷰를 대표하는 또 다른 테이블, 내 사용자를위한 또 다른 어쩌면

이제 리뷰를보고 싶다고합시다 특정 레스토랑에 대한 것 같은데 내가 레스토랑 리뷰 앱에서하고 싶은 것처럼 내 리뷰 테이블에 레스토랑 외래 키가 필요할 것입니다 이 특정 리뷰가 어떤 식당에 있는지 보여줍니다 그리고 내가 리뷰 내에서 보여주고 싶다고 가정하면 그 식당을 리뷰 한 저자 정보 사용자에게 다른 외래 키를 포함시킬 수 있습니다

나중에 레스토랑 정보 화면을 표시해야 할 때, 식당에 관한 정보를 얻을거야 레스토랑 테이블에서 또한 내 리뷰 테이블에서 리뷰의 일부를 잡아, 레스토랑 외래 키가 ID와 같은 경우 이 특별한 레스토랑 그리고 나는 또한 사용자들을 찾아 볼 것입니다 사용자 ID가 사용자와 동일한 경우 이 검토를위한 외래 키 그런 다음 사용자 이름과 프로필을 추가하는 데 사용할 수 있습니다

이 식당에 대한 각 리뷰의 그림 자, 이것은 백엔드에서 수행되는 상당한 양의 작업입니다 권리? 이 모든 다른 테이블에서 모든 항목을 가져옵니다 이러한 외래 키와 모든 그– 그러나 이것은 상당히 간단한 SELECT로 수행 될 수 있습니다 SQL의 문장

데이터베이스는이 모든 조각을 잡는 데 필요한 작업을 수행합니다 다른 테이블에서 가져 와서 함께하지 마세요 그리고 그것은 다소 지나치게 단순화 된 관계형 데이터베이스입니다 요컨대 이제 NoSQL 세계에서 사물은 조금 다릅니다

일반적으로 모든 데이터 이런 식으로 작은 테이블에 저장되지 않을 것입니다 사실 여러 가지 방법이 있습니다 일반 오래된 키 값 저장소에서 데이터를 저장할 수 있습니다 실시간 데이터베이스 (Realtime Database)와 같이 큰 중첩 트리 (nested tree) JSON 객체 컬렉션에 추가합니다 그러나 대부분이 공통점이있는 한 가지 NoSQL 데이터베이스는 일반적으로 스키마가 없다는 것을 의미합니다

어떤 종류의 데이터에 관한 데이터베이스 수준의 제한 당신은 데이터베이스의 어느 지점 에나 놓을 수 있습니다 그래서 나는 식당 목록을 가지고 있을지도 몰라 여기 레스토랑 개체의 무리와 함께, 모든 이름, 등급 및 주소가 포함되어 있습니다 그러나 그것은 기본적으로 관례에 의한 것입니다 명시 적 데이터베이스 수준 규칙은 없습니다

이 모든 물건이 모두에게해야한다고 똑같은 유형 내에서 똑같은 필드를 가짐 또는 심지어 객체가 될 필요가 있다는 것 레스토랑을 대표합니다 그래서이 멍청한 접근 방식은 처음 엔 좀 이상하게 보였지만 몇 가지 장점이 있습니다 스키마가없는 데이터베이스로 작업하는 개발자가 많습니다 왜냐하면 그들은 정말로 쉽게 반복 할 수 있기 때문입니다

추가 또는 변경하여 데이터베이스 디자인에 필요에 따라 입력란을 다른 건 깨뜨려 노이즈 레벨 값을 추가 할 수 있습니다 내 레스토랑에 대해서만 시작 새로운 식당에 추가했습니다 나는 걱정할 필요가 없다 내 모든 기존 레스토랑에서 다시 채우십시오

내 NoSQL 데이터베이스는 놀라움없이이를 처리 할 수 ​​있습니다 다른 상황에서도 유용 할 수 있습니다 내가 데이터를 저장할 곳도 그것은 서로 유사하지만 정확하게 동일하지는 않습니다 예를 들어, 내 레스토랑 앱을 쉽게 확장 할 수 있습니다 바 및 문신 가게를 포함하여, 들리는 소리를위한 스카이 다이빙 수업 꽤 굉장한 밤

그리고 내 데이터베이스는 하나의 객체가 있다는 것을 신경 쓰지 않습니다 탠덤 점프 필드 (tandem-jumps field)와 다른 하나는 문신 스타일 필드 (tattoo-style field) 권리? 나는 내 데이터베이스와 싸울 필요가 없다 이 약간 다른 유형의 식당을 추가하십시오 여기 단점은 당신이 필요하다는 것입니다 조금 방어 적으로 코딩하십시오

도움을 줄 보안 규칙을 설정할 수 있지만 어떤 종류의 데이터를 집행하는지, 실제로는 없는지 데이터베이스 수준에서의 보증 특정 데이터 집합을 검색 할 것입니다 언제든지 그리고 그 말은 당신이 아마 어떤 일을하기를 원할 것임을 의미합니다 클라이언트 쪽에서 데이터 확인 당신은 당신이 기대하는 것과 실패하는 것을 실제로 얻고 있습니다 멋지게 그렇지 않을 때

그러나 솔직히, 방어 적으로 코딩하는 것은 어쨌든 좋은 생각 일 것입니다 특히 모바일 세상에서, 당신은 항상 귀하의 사용자가 클라이언트 앱의 최신 버전을 실행하고 있어야합니다 데이터베이스의 최신 반복에 대비하여 그래서 나는 이것이 너의 많은 버릇이 되길 바래 이미 익숙하다 그리고 그렇지 않다면 시작하기에 좋은 시간입니다

NoSQL 데이터베이스의 또 다른 중요한 측면은 – 그리고 이것은 당신에게 충격을 줄 것이라고 확신합니다 SQL이 없기 때문에 모든 멋진 결합이 나는이 부분의 리뷰를 가져 가라 이 다른 부분의 데이터베이스와 사용자의 그들을 모두 합쳐서 나는 여기서 그것을 할 수 없다 일반적으로 개체를 잡아야하는 경우 데이터베이스의 세 부분에서 나는 3 개의 완전히 다른 데이터베이스를 만들 필요가있다 요청

그리고 그것은 보통 일어나지 않을 것입니다 또는, 나는 그것이 될 것 같지 않다 당신의 기본 사고 방식 대신 데이터를 장소에 배치하려는 경우 필요한 경우 모두 함께 잡을 수 있습니다 그리고 그것은 당신이 중복 데이터를 넣을 수도 있다는 것을 의미합니다

여러 곳에서 예를 들어, 레스토랑 리뷰 앱의 NoSQL 버전 ~ 같이 보일지도 모른다 레스토랑을 볼 것으로 예상 할 수 있습니다 데이터베이스에 자신의 개별 개체로 나열됩니다 그러나 이제 데이터베이스에 따라, 리뷰는 레스토랑 자체에 내장 될 수 있습니다

그러나 나는 그들이 자신의 물건 일 가능성이 가장 높다고 생각합니다 그리고 나서 당신은 이것들이 함께가는 것 리뷰 자체에 ID가 포함될 수 있습니다 예를 들어 식당의 자,이 설정으로, 나는 상당히 쉽게 할 수있다 개별 식당이나 식당 그룹을 가져 오십시오

그리고 몇 가지 신중한 쿼리를 통해, 나는 개별 레스토랑에 대한 모든 리뷰를 가져올 수 있습니다 하지만 일반적으로이 두 가지 요청을 모두 수행 할 수는 없습니다 한 번의 호출로 하지만 식당 리뷰 앱의 경우 이는 아마도 괜찮을 것입니다 맞습니까? 사용자가 처음보기를 원합니다 20 개 또는 30 개의 레스토랑 요약 그런 다음 세부 정보를 보려면이 중 하나로 드릴 다운하십시오

그리고이 시점에서만 실제로 이러한 추가 리뷰를 요청하고 싶습니다 그래서, 지금까지 그렇게 나쁘지는 않습니다 그러나 리뷰어의 이름과 프로필을 보여주고 싶다면 어떻게해야할까요? 그 리뷰의 그림? 이것은 약간 까다로운 곳입니다 사용자를 대표한다고 가정 해 보겠습니다 데이터베이스 내의 다른 위치에서 자신의 개체에 의해

그리고이 사용자들에 대한 참조를 추가 할 수는 있지만 내 리뷰 개체 내에서 데이터베이스가 자동으로 잡을 방법이 없습니다 각 리뷰의 사용자 이름과 프로필, 나는 그들을 요청하고있다 별도의 데이터베이스를 만들어야합니다 모든 단일 검토 요청 I 이 정보를 가져 오면 좋지 않습니다 그래서 우리가 자동으로 포함시키고 자한다면 특정 리뷰를 쓴 사람에 대한 정보, 우리는 대부분 그 사용자 프로필 중 일부를 복사해야 할 것입니다

데이터 – 저자의 이름과 그림, 예를 들면 – 그것을 우리의 리뷰 오브젝트에 넣으십시오 이제 전통적인 관계형 데이터베이스를 사용한다면 세상에, 너 아마 지금 당장 외설이야, 그렇지? 너는 마치, 아, 너 뭐하고 있니? 데이터베이스 전체에 중복 된 데이터를 갖게 될 것입니다 이것이 프로그래밍에서 최악의 상황입니다 Go-To 문 이후 그리고 네가 옳다

관계형 데이터베이스로 시간을 보낸 사람들 그 데이터 정상화, 의미를 배웠습니다 모든 데이터 조각은 데이터베이스의 한 곳에 존재하는 것이 중요합니다 그리고 그들은 일종의 지적을했습니다 이런 상황 에서처럼 내 사용자가 변경하기로 결정한 경우 더 많은 작업이 필요합니다 그들의 프로필 사진 나는 모든 리뷰를 찾아 볼 필요가있다

이 프로필 사진 정보를 복사했습니다 새 것으로 바꾸면 위험 할 수 있습니다 나는 그것을 사방에 바꾸지 않는다 갑자기 일관성없는 데이터가 있습니다 내 데이터베이스에

그리고 이제 어쩌면 당신은 생각하고있을 것입니다 글쎄, 이건 그냥 끔찍한 것 같아 NoSQL 데이터베이스가 지금 왜 그렇게 뜨거운 이유는 무엇입니까? 왜 그렇게 많은 개발자들이 떠나는거야? 이 깨끗한 테이블과 데이터의 세계 정규화 및 조인 문의 이 미친 새롭고 지저분한 데이터 저장 영역을 위해서? 그렇습니다이 중복 데이터를 갖는 큰 단점 중 하나입니다 내가 그것을 바꿀 때, 나는 그것을 바꿔야 만한다는 것이다

여러 위치에 그러나 다른 한편으로는, 내가 리뷰를 얻고 싶을 때마다, 그것은 정말로 쉽지 않습니다 모든 데이터가 바로 저기 있습니다 모두 한 곳에서 – 여러 테이블이나 다른 것에 조인을 실행할 필요가 없습니다 그런 식으로

그리고 그것이 우리의 글이 더 많은 일이 될 것이라는 것을 의미하지만, 우리의 데이터베이스는 정말 빨리 끝납니다 그리고 많은 앱에서, 정말로 그것에 대해 생각한다면, 당신의 글은 많은 글을 능가합니다 프로필 사진을 몇 번이나 변경해야합니까? 1 년에 한 번, 많아야 – 그러나 다른 한편으로는, 아마도 2 ~ 3 명 정도 매일 식당 리뷰를 보러 갈거야 따라서이 데이터에 관해서는, 우리의 글은 7,000 대 1의 글을 능가 할 것입니다 그리고 그 사건을 최적화하는 것이 합리적 일 수도 있습니다

그 사건보다 7 천 번이나 일어난다 1 년에 한 번 일어날 것입니다 하지만 NoSQL 데이터베이스의 가장 큰 장점은 전통적인 데이터베이스에 비해 여러 대의 컴퓨터에서 데이터를 분산 할 수있다 꽤 쉽게, 그리고 이것은 큰 문제입니다 대부분의 관계형 데이터베이스에서 내 앱이 인기가 높으면 데이터베이스가 더 크고 더 큰 데이터로 확장되어야합니다

설정, 나는 일반적으로 더 크고 beefier 기계에 넣어해야합니다 그리고 이것을 세로로 스케일링이라고합니다 반면에 많은 NoSQL 데이터베이스 클라우드 파이어 스토어처럼, 규모를 늘릴 필요가 있다면 더 크고 더 큰 데이터 세트, 내 데이터베이스 뒤에서 볼 수 있고 꽤 눈에 보이지 않게, 그 데이터를 여러 서버에 분산시키고, 그리고 모든 것은 단지 일종의 작품입니다 그리고 이것을 수평으로 스케일링이라고합니다 그리고 관리 대상 서버에서 일하는 사람들은 Google Cloud Platform 또는 AWS와 같은 환경, 이 시스템에서는 꽤 쉽습니다

서버를 자동으로 추가 또는 제거하는 방법 필요에 따라 데이터베이스에 추가 할 수 있습니다 따라서 데이터베이스는 거의 자동으로 확장 될 수 있습니다 손가락을 들어야 할 필요가 없습니다 그리고 그것은 정말로 이러한 이유들 때문입니다 당신은 더 많은 데이터베이스를보기 시작했습니다

특히 클라우드에 호스팅 된 것들, 이 NoSQL 모델로 이동 그러나 지금, NoSQL 배경에서오고 있다면 Firebase Realtime Database와 마찬가지로 새로운 것입니다 아마도 자동으로 크기를 조절하는 부분을 제외하고 말이죠 클라우드 파이어 스토어 (Cloud Firestore) 실시간 데이터베이스보다 그러나 그것은 단지 그 이상입니다

이제 Cloud Firestore 's에 대해 더 자세히 이야기합시다 문서 수집 모델 실시간 데이터베이스 세계에서 우리는 일반적으로 Firebase에 저장된 데이터를 큰 JSON 트리로 설명하십시오 왜냐하면, 기본적으로 그것이 무엇인지 알기 때문입니다 나무예요

그것은 키와 값을 가지며 그 값은 때때로 다른 키와 값을 포함하는 객체 일 수 있습니다 이제 Cloud Firestore는 실시간 데이터베이스와 마찬가지로, 개체의 모음입니다 그리고이 모든 객체들은 나무 같은 계층 구조로 저장됩니다 구조 그리고 Firebase Realtime Database와 같은 데이터베이스 모든 것을 큰 오래된 JSON 객체로 저장하고, 클라우드 파이어 스토어 (Cloud Firestore) 그것은 문서와 컬렉션으로 구성되어 있습니다

이제 문서는 JSON 객체 또는 사전과 유사합니다 키 값 쌍으로 구성됩니다 Cloud Firestore 지역의 밭이라고합니다 그리고이 분야의 가치는 여러 가지 일 수 있습니다 문자열, 숫자, 이진 데이터, 더 작은 JSON-y 찾고있는 객체로, 팀이지도로 언급하는 것을 좋아합니다

그리고 그것은 하나의 문서입니다 자, 컬렉션은 기본적으로 문서 컬렉션입니다 해시 또는 사전과 같은 것으로 생각할 수 있습니다 가치가 항상있는 곳 어떤 종류의 문서가 될 수 있습니다 자, 이러한 것들을 사용할 때 몇 가지 규칙이 있습니다

첫째, 컬렉션은 문서를 포함하고 아무것도 없다 문자열 또는 바이너리 블롭 또는 다른 어떤 것의 콜렉션 둘째, 문서의 크기는 1MB에 불과합니다 그보다 더 크면 그걸 해체해야합니다 셋째, 문서는 다른 문서를 포함 할 수 없습니다

문서는 하위 모음을 가리킬 수 있지만 하위 모음을 가리킬 수는 없습니다 다른 문서를 직접 따라서 다음을 포함하는 컬렉션을 보는 것이 일반적입니다 한 권의 문서들, 그 다음에는 서브 콜렉션을 가리킨다 다른 문서를 포함하는 등등

네 번째 규칙은 Cloud Firestore 트리의 근원 컬렉션 만 포함 할 수 있습니다 이제는 대부분의 실제 응용 프로그램에서 매우 직관적 인 것처럼 보입니다 사용자 컬렉션과 작업 컬렉션이 있습니다 등등 나는이 일이 끝나는 것을 찾는다

혼란스러운 것은 건물을 짓는 때입니다 당신의 작은 작고 작은 테스트 앱 2 개의 데이터를 저장한다 "Hello, world"를 저장하는 것은 조금 이상합니다 컬렉션 안에있는 문서 내부에 있습니다 그러나 대부분의 실제 사용 사례에서 이것은 괜찮을 것입니다

날 믿어 그래서 이것은 일반적으로, 당신은 당신의 데이터를 조사 할 것입니다 컬렉션을 지정한 다음 문서를 지정한 다음 컬렉션, 그리고 문서, 너 같은 때까지 그렇게 번갈아 가며 실제로 원하는 데이터가 들어있는 문서로 이동하십시오 이 코드는 어질러 지거나 어색해 질 수 있으므로, 문서 또는 컬렉션을 지정하는 경우가 많습니다 그 문서에 대한 경로를 생성하여 원하는 문서 이런 식으로

당신의 길에서, 당신은 여전히 컬렉션, 문서, 컬렉션, 문서, 등등 이제 다시 레스토랑 리뷰에 대해 생각해 보겠습니다 앱 우리가 생각 나지 않는 것처럼 보입니다 레스토랑이라고 불리는 콜렉션이있을 예정입니다

이 문서들 각각은 식당에 대한 정보가있다 아마도 Review 서브 콜렉션에 대한 포인터 일 것이다 이제,이 리뷰 서브 콜렉션 내에서, 당신은 많은 문서들을 갖게 될 것입니다 각 문서는 개별 검토를 나타냅니다 그래서이 문서들 안에서 꽤 큰 텍스트 블록을 포함하게 될 것입니다

그 자체로 리뷰 그 다음 아마 다른 약간의 세부 사항, 전체 등급 및 날짜와 마찬가지로 그리고 이미, 저는이 계층 적 구조를 파고들 것입니다 예쁘다고 판명 되었기 때문에 사소한 식당에 관련된 모든 리뷰를 여기에서 잡아라 그러나 우리는 또한 정보를 원할 것입니다 누가이 리뷰를 쓴지

이제 우리 앱이 사용자 컬렉션의 일종, 그러나 그것은 아마도 더 많은 최상위 컬렉션 일 것입니다 그 사용자에 관한 모든 종류의 정보를 포함 할 것입니다 이름, 사용자 프로필, 마지막 로그인과 같은 시간, 기본 위치, 음식 알레르기, 당신은 무엇을 가지고 있습니다 그리고 이것은 실제로 최상위 객체와 같은 느낌을줍니다 내가 리뷰의 서브 콜렉션으로 만들고 싶지 않은 것

그래서 저는 이것에 대해 이전에 이야기했습니다, 그러나 이것은 우리가 정보를 포함하고 싶다면 이 리뷰를 쓴 사용자에 대해, 우리의 검토 문서는 아마도 작성자 이름 및 작성자 프로필과 같은 몇 개의 입력란이 있습니다 사진, 그게 유일한 사용자 일거야 정보 내가 리뷰를보고있을 때 필요한 정보 그리고 원한다면지도 필드로 만들 수도 있습니다 그것들은 JSON-y로 보이는 작은 것들입니다 그렇게

그리고 이것은 아마 중복 데이터 일 것입니다 최상위 User 객체에 둘 다 같이 살 것이다 그리고이 개인적인 리뷰에서 앞으로의 동영상에서 최고의 전략에 대해 이야기하겠습니다 이런 종류의 일들을 일관되게 유지합니다

덧붙여 말하자면 Firebase Realtime에서 온다면 데이터베이스 토지, 이런 종류의 깊고 중첩 된 구조 당신에게 심장 두근 거림을 줄지도 모릅니다 실시간 데이터베이스 세계에서 검색 할 때 트리의 일부 요소, 자동으로 그 아래 모든 것을 검색하십시오 그리고 그것은 수백명의 다운로드 가능성을 의미합니다 언제든지 식당 리뷰를 몇 대 들고 싶다 레스토랑 문서

그러나 Cloud Firestore에서는 쿼리 기본적으로 얕은 것이므로 문서를 가져올 때 의미합니다 콜렉션 내에서, 당신은 그 문서들을 붙잡는다 당신은 어떤 하위 수집에서도 문서를 잡지 않습니다 그래서 나는 버지 오 최고급 레스토랑 20 개를 들러서 갈 수있다 그 식당 서류 만 가져와

그들과 관련된 모든 리뷰없이, 어떤 말이 맞지? 최고의 부리 토를 찾기 위해 모바일 앱에서 검색하고 있다면 장소, 그 결과 페이지는 단지 그 기본 레스토랑 정보를 담을거야 이 시점에서 개별 리뷰가 필요하지 않습니다 나중에 내가 부리 토 장소 중 하나를 클릭하면 더 많은 정보를 얻으려면, 내가 원할 때야 개별 리뷰를 볼 수 있습니다 아마도 그것이 의미가있는 부분 일 것입니다

내 애플 리케이션이 데이터베이스에서 그들을 요청하는 – 이해가 되니? 좋아, 그게 다야 할 일이 많았지 만, 요약하다 Cloud Firestore는 NoSQL이며 가로로 크기 조정되는 문서입니다 클라우드의 모델 데이터베이스 내가 처음에 말한 것, 모든 것을 만든다 지금 당장 감각이 듭니다

이제 여기에 대해 더 많은 이야기가 있습니다 Cloud Firestore에서 쿼리를 실행하는 방법, 팁 데이터를 최적화하고 모든 데이터를 안전하게 유지하는 방법, 이 모든 것들이 우리의 미래 비디오를위한 훌륭한 주제입니다 그리고 행운이 있습니다 우리는 전체 시리즈를 만들고 있습니다 클라우드 파이어 스토어에 관한 모든 것

그래서 계속보고 싶으면 Cloud Firestore에 대해 계속 배우고 싶습니다 왜 가서 구독하지 그래? YouTube 채널에? 그리고 나는 곧 미래의 에피소드에서 당신을 볼 수 있습니다 시청 해 주셔서 감사합니다 유튜브 나는 곧 당신과 이야기 할 것입니다

[음악 재생]

How to run an Oracle Database instance in a Docker container? Yes, I Know IT! Ep 18

훌륭한 오픈 소스 대안에도 불구하고, 오라클 데이터베이스 기술은 높은 수요에 남아 인력 시장 하지만 당신의 집에있는 컴퓨터에 처음부터 오라클을 설치하는 지루한 작업입니다

특히 당신은 오라클을 사용하는 방법을 학습하는 과정에있을 때 바라건대, 당신은 최소의 노력으로 오라클 데이터베이스 인스턴스를 설치하는 부두 노동자를 활용할 수 있습니다, 그리고, 당신의 컴퓨터에 너무 많은 자원을 필요로하지 않고 잘 최소한의 노력 -과 인내의 좋은 주 이 동영상에서는 이미 도커의 최신 버전을 가지고 가정 컴퓨터에 설치되어 있어야합니다 그렇지 않은 경우, 도커 설치를 설명 내 이전 비디오에서보세요 훌륭한 세부의 리눅스 박스에 어쨌든, 당신은 부두 노동자 허브에서 오라클의 사전 설치된 이미지를 다운로드 할 수 있습니다 자신의, 나는 설치 고통스러운 오라클에서 제공하는 공식 이미지를 발견, 그래서 내가 대신 Maksym Bilenko에서 이미지를 사용합니다 : 2 개 이상의 기가 바이트 다운로드하고, 인터넷 연결 속도에 따라, 이 단계를 완료하는 데 매우 looooong 시간이 필요할 수 있습니다

적어도 한 시간 후, 오라클 고정 표시기 이미지가 드디어 도착했습니다 그리고 우리는 지금 그 이미지에서 컨테이너를 만들 수 있습니다 오라클 컨테이너 처음 시작하면, 당신은 조금 더 인내심이 필요합니다 시간은 그 초기 설정을 수행합니다 몇 분 후 마지막으로,이 시간 바로 사용할 수 있습니다

그래서 그 컨테이너의 맥락에서 유서 깊은 오라클 SQLPLUS 명령 행 도구를 시작하자 우리의 첫 번째 명령을 실행합니다 : 그것은 어쩌면 정말 인상적 아니지만, 당신이 멀리 사라 한 경우, 그 오라클은 최대 및 의미 달리는 그리고 당신은 당신이 데이터베이스를 조회하는 데 사용할 수있는 연결을 설립했습니다 물론, 당신은 당신의 일상 업무에 대한 데이터베이스 관리자로 작동하지 않습니다 그것은 당신의 리눅스 박스에 기본적으로 루트로 작업 같은 것입니다 확실히하는 것이 가장 좋습니다

그래서 우리는 즉시 새 사용자를 작성합니다 상황이 전에 조금 간단하기 위해 사용하지만, 오라클은 CONNECT 및 RESOURCE 사용되지 않는 역할 – 그들도 대단위했기 때문 당신은 여전히 ​​그들을 사용하여 많은 자습서를 볼 수 있습니다 그러나 일반적으로 지금 인정 그들은 사용자에게 너무 많은 권한을 부여한다 그러나의 지금은 그 괄호를 닫습니다 수 있도록하고, 오라클 인스턴스에 자신을 연결 테스트를 위해 새로운 더미 테이블을 생성하기 위하여 사용자 이름

그리고 그것을 증명 : 당신은 당신을 위해 오라클 데이터베이스의 작업 인스턴스가 준비가 지금 가지고있는 는 SQL 플러스 명령 줄 인터페이스를 사용하여 연습 하지만이 그 재미 없어, 동의합니다 Maye 당신은 그렇게 멋진 GUI 도구를 사용하여 선호? 좋은 소식은 이러한 도구는 컨테이너에 이미 사용할 수 있습니다 나쁜 소식은 그 설치 및 구성의 조금에서 사용할 수있을 필요하다 그곳에 그리고 그 다음 비디오의 대상이 될 것입니다

그래서, 곧 당신을보고!