(1) 데이터베이스는 대부분의 애플리케이션의 초석입니다.
:애플리케이션은 모든 Dynamic data(동적 데이터)를 다룹니다. 즉 개발자와 사용자가 필요할 때마다 생성, 변경, 보기 및 삭제할 수 있는 데이터를 처리합니다.
* Dynamic Data(동적 데이터)란?
앱 사용자가 동적으로 생성, 읽기, 편집, 삭제, 검색 및 집계할 수 있어야 하는 정보입니다.
여기에는 소셜 미디어 게시물, 고객 정보, 블로그 기사, 전자 상거래 제품 및 채팅 메시지와 같이 사용자가 지속적으로 작업하는 데 유용하다고 생각하는 모든 종류의 다양한 데이터가 포함됩니다.
이와 같은 정보는 데이터베이스에 저장됩니다.
- 데이터베이스는 앱의 디자인과 함께 작동하여 사용자가 복잡한 데이터를 효율적으로 처리할 수 있는 조합을 제공하며, 내부에서 실제로 어떻게 발생하는지에 대한 메커니즘에 부담을 주지 않습니다.
- 대부분의 사용자는 그것이 어떻게 작동하는지 모르고 실제로 거기에 있는지조차 모릅니다.
- 그들은 어제 앱에 저장한 정보가 오늘날에도 여전히 작동할 수 있다는 것만 알고 있습니다.
66. 사용자에게 데이터 보여주기 (중급): Displaying Data, List를 사용하여 표시, auto-binding을 사용 > 바로가기
데이터베이스는 당연히 데이터를 저장하는 장소이지만, 이뿐만 아니라 해당 데이터를 생성, 조작 및 삭제하는 자체 명령 세트가 함께 제공됩니다.
(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 검색, 주의사항 > 바로가기
'버블 개발 > 중급' 카테고리의 다른 글
18. Static data (중급) : 버블 정적 데이터 쉽게 파악하기, 정적 데이터의 종류와 특징 (0) | 2023.06.21 |
---|---|
17. Bubble Files (중급) - 버블 파일, 사진 업로드, 삭제, 보호 규칙 (0) | 2023.06.20 |
14. Bubble Component Library (중급) : 컴포넌트 라이브러리, 쉽고 빠르게 가입/로그인 구현해보기 (0) | 2023.06.16 |
12. Bubble Responsive pages 2 (중급) : 버블 반응형 디자인, 반응형 디자인의 원리 이해, Eelement 설정 (0) | 2023.06.15 |
10. Bubble Styling (중급) : 버블 스타일링, 노코드 앱 버블 빠른 사용자 스타일 저장 (0) | 2023.06.13 |