본문 바로가기
버블 개발/중급

16. The database (중급) : 데이터베이스 기본지식, 버블 데이터의 특징, Dynamic data 기본지식

by 스타트업 사업가 마르코 2023. 6. 19.

(1) 데이터베이스는 대부분의 애플리케이션의 초석입니다.

:애플리케이션은 모든 Dynamic data(동적 데이터)를 다룹니다. 즉 개발자와 사용자가 필요할 때마다 생성, 변경, 보기 및 삭제할 수 있는 데이터를 처리합니다. 

 

* Dynamic Data(동적 데이터)란? 

앱 사용자가 동적으로 생성, 읽기, 편집, 삭제, 검색 및 집계할 수 있어야 하는 정보입니다.
여기에는 소셜 미디어 게시물, 고객 정보, 블로그 기사, 전자 상거래 제품 및 채팅 메시지와 같이 사용자가 지속적으로 작업하는 데 유용하다고 생각하는 모든 종류의 다양한 데이터가 포함됩니다. 

이와 같은 정보는 데이터베이스에 저장됩니다.

 

  • 데이터베이스는 앱의 디자인과 함께 작동하여 사용자가 복잡한 데이터를 효율적으로 처리할 수 있는 조합을 제공하며, 내부에서 실제로 어떻게 발생하는지에 대한 메커니즘에 부담을 주지 않습니다.
  • 대부분의 사용자는 그것이 어떻게 작동하는지 모르고 실제로 거기에 있는지조차 모릅니다.
  • 그들은 어제 앱에 저장한 정보가 오늘날에도 여전히 작동할 수 있다는 것만 알고 있습니다.

66. 사용자에게 데이터 보여주기 (중급): Displaying Data, List를 사용하여 표시, auto-binding을 사용 > 바로가기

대부분의 사용자는 그것이 어떻게 작동하는지 모르고 실제로 거기에 있는지조차 모릅니다.
대부분의 사용자는 그것이 어떻게 작동하는지 모르고 실제로 거기에 있는지조차 모릅니다.

 

데이터베이스는 당연히 데이터를 저장하는 장소이지만, 이뿐만 아니라 해당 데이터를 생성, 조작 및 삭제하는 자체 명령 세트가 함께 제공됩니다.

63. Data types and fields (중급) : 버블의 데이터 유형, field 의미, custom data type 설정, SLUG 설정, Unique ID 의미 > 바로가기

 

(2) 데이터베이스와 통신 (Communicating with the database)

1. 개발자와 사용자가 Bubble 앱을 통해서 상호 작용할 때 두 대의 컴퓨터가 연계되어 작동합니다.

 

  • 사용자가 앱에 액세스 하는 장치(예: 노트북 또는 휴대폰)
  • 버블의 서버 컴퓨터

 

데이터 읽기, 쓰기 또는 삭제와 같이 데이터베이스와 관련된 작업이 필요할 때마다 해당 명령이 사용자 장치에서 서버로 전송되고 여기서 작업이 완료되어 확인 및 요청된 정보가 장치로 다시 전송됩니다.

:따라서 앱의 데이터 작업은 사용자 기기와 Bubble 서버 간의 지속적인 통신 스트림입니다.

 

  • 이는 페이지 로드 시에만 발생하는 것이 아니라 사용자가 앱에 작업과 입력을 제공할 때 지속적으로 발생합니다.
  • 단일 사용자의 경우에도 작은 데이터 패킷을 초당 여러 번 주고받을 수 있습니다.

64. 데이터 생성, 저장 및 삭제(중급): 워크플로우로 데이터 조작, 자동 바인딩 설정, 워크플로우와 자동 바인딩의 비교 > 바로가기

65. 데이터 찾기 (중급) : 버블에서 사용자에게 정보 보여주기, 제약조건 설정하기, 리스트를 한개의 항목으로 변환

 

2. 앱 개발자는 모든 종류의 다양한 명령을 서버에 보내도록 설정할 수 있습니다.

  • 데이터 만들기
  • 항목 변경 및 삭제
  • 데이터를 검색하고 결과를 목록으로 반환
  • 하나의 특정 사물을 찾고 그 내용을 반환
  • 사용자의 장치와 서버 간에 전송되는 모든 데이터는 항상 암호화되어 비공개로 유지됩니다.
  • 사용자가 이름과 생년월일과 같은 자신에 대한 입력을 제공한다고 가정해 보겠습니다.
  • 해당 데이터가 Bubble 서버로 전송될 때 암호화되어 다른 사람이 읽을 수 없습니다.
  • 서버 자체에 저장하는 동안에도 암호화됩니다.

새로운 필드 만들기 예시
새로운 필드 만들기 예시

 

3. 전송, 유휴상태 중 데이터 암호화(Encryption during rest and transit)

:데이터베이스에 들어오고 전송되는 데이터는 두 가지 상태일 수 있습니다.

 

1) 유휴상태

  • 데이터가 서버의 하드 드라이브에 저장되는 때를 의미합니다.
  • 이 상태에서 데이터는 산업 표준 AES-256 암호화를 사용하여 암호화됩니다.

 

2) 전송

  • 데이터가 인터넷을 구성하는 케이블을 통해 서버에서 사용자의 장치로 이동하는 것을 의미합니다.

 

*이 상태에서 데이터는 TLS 프로토콜로 암호화되어 세 가지 중요한 사항을 보장합니다.
  • 데이터는 암호화되어 권한이 없는 사람이 가로채는 경우 읽을 수 없습니다.
  • 데이터는 검증된 데이터 소스, (즉 Bubble 서버가 인증되어 데이터가 사기꾼이 아닌 검증된 소스)에서 유래했음을 보장합니다.
  • 데이터의 무결성은 전송되는 동안 유지되어 전송 중에 어떤 식으로든 조작되거나 변경되지 않도록 합니다.

 

(3) 개인 정보 보호 규칙(Privacy Rules)

:개인정보 보호 규칙은 어떤 사용자가 어떤 데이터에 액세스 할 수 있는지를 관리하는 규칙입니다.

  • 이는 데이터베이스 보안에서 가장 중요한 부분이며 모든 종류의 비공개 데이터 또는 민감한 데이터를 호스팅 하는 모든 앱이 이를 보호하기 위해 개인정보 보호 규칙을 설정할 것을 강력히 권장합니다. 
  • 메인 panel의 왼쪽 부분 중 data 탭에서 설정가능

사용자의 기기와 버블 서버의 데이터베이스 커뮤니케이션
사용자의 기기와 버블 서버의 데이터베이스 커뮤니케이션

67. 개인정보규칙과 데이터 보호(중급) : Protecting data with Privacy Rules, 규칙 설정 방법, 예시 > 바로가기

 

(4) 추가적으로 Resources(자원) 설명

1. 버블 데이터베이스에 대한 기술정보

1) 버블 서버

  • Bubble 데이터베이스는 Amazon Web Services의 일부인 Amazon의 관계형 데이터베이스 서비스(RDS)에서 호스팅 됩니다.
  • 데이터베이스는 산업 표준 AES-256 암호화를 사용하여 암호화됩니다.

 

2) 데이터베이스 기술

  • Bubble은 오픈 소스 데이터베이스 관리 시스템인 PostgreSQL을 사용합니다.
  • 즉, 새로운 종류의 데이터베이스 시스템을 발명한 것이 아니라 수십 년 동안 개발되어 왔으며 안정성과 보안에 대해 철저히 테스트되고 감사된 것을 사용합니다.
  • 이것은 인터넷에서 가장 널리 사용되는 시스템 중 하나이며 SQL 표준(매우 일반적인 데이터베이스 형식)을 기반으로 하기 때문에 Bubble은 호환성에 대한 걱정 없이 다른 데이터베이스와 통신할 수 있습니다.

 

2. 버블 데이터베이스와 기존 데이터베이스와 다른 점

:기술적으로 Bubble은 대부분의 다른 웹 서버인 SQL, 특히 PostgreSQL과 동일한 기술을 사용합니다.

그래도 기존 데이터베이스 배경에서 왔다면 Bubble 편집기에서 데이터베이스가 시각화되는 방식이 약간 혼란스러울 수 있습니다.

 

주요 차이점은 Bubble이 primary key(기본 키) 및 foreign key(외래 키) 사용을 자동화한다는 것입니다.
  • 두 데이터 유형(테이블) 간의 관계를 생성할 때 Bubble은 사용자 정의 데이터 유형 필드를 사용하여 다른 테이블의 다른 레코드에 대한 참조를 나타냅니다.
  • 예를 들어 "사용자" 데이터 type과 “게시물" 데이터 type이 있고 각 게시물이 사용자와 연결되도록 이들 간의 관계를 만들고 싶다고 가정해 보겠습니다. Bubble에서 "사용자" 테이블의 사용자 레코드에 대한 참조를 나타내는 "사용자" 데이터 type으로 설정하여 "게시물" 테이블에 필드를 생성합니다.
  • 개발자에게 foreign key(외래 키) 사용을 노출하지 않지만 데이터베이스 관계는 여전히 기술적으로 외래 키에 의존합니다.
  • 버블에서 기본적으로 unique ID 필드는 레코드의 primary key(기본 키) 역할을 하며 데이터를 검색하는 데 사용되지만 프로세스의 이 부분은 데이터베이스 배경이 없는 사용자가 데이터베이스 설정 및 관리를 쉽게 하기 위해 숨겨져 있습니다.

68. 버블의 데이터베이스 편집기 (중급) : The database editor 사용, 임의의 사용자로 보기, primary key 설정, 데이터 생성, 삭제 > 바로가기

 

3. 데이터베이스 유지관리

  • 데이터베이스를 깨끗하고 최신 상태로 유지하면 앱이 효율적으로 실행되고 개발자가 데이터를 보다 쉽게 파악할 수 있습니다. 데이터베이스를 유지 관리하는 다양한 방법이 있습니다.

69. 위치 데이터로 작업하기 (중급) : 구글 지도 사용, 구글 MAP API 설정, API 키 발급 및 설정 > 바로가기

70. algolia사용하기 (중급) : algolia장점, 설정하기, indexing 색인, searching 검색, 주의사항 > 바로가기