18b3d932fc92b4518b341a61565cd9cd4ae16184bc5a8d9258b0d82d032269312037

C# Unity 전반적인 흐름은 이거인듯?

매핑흐름
Scene에서 쓰이는 데이터 객체로는 ScriptableObject라는 객체를 이용한다네.

Server쪽으로 넘어오거나 가는 데이터 형태는 DTO이고
SQL Server 에서 EFCore로 이용하는 객체는 Model이 되는거고

(App, ScriptableObjet) <=> (데이터 전달, DTO) <=>(서버, Model) 요런 느낌.
데이터 변환하는 거는 AutoMapper로 이용하고 말이야.


Chat GPT

EF Core (Entity Framework Core)는 SQLite 데이터베이스를 포함하여 여러 종류의 데이터베이스와 함께 사용할 수 있도록 설계된 .NET의 경량화되고 확장 가능한 버전의 Entity Framework입니다. EF Core를 사용하여 SQLite 데이터베이스를 쉽게 생성, 읽기, 업데이트, 삭제(CRUD)할 수 있는 애플리케이션을 구현할 수 있습니다.

서버 측과 Unity 애플리케이션 측에서 각각 다른 데이터베이스 시스템을 사용하는 것은 일반적인 접근 방식입니다. 이러한 방식은 각 환경의 특성과 요구사항에 맞춰 최적화할 수 있기 때문에 매우 효과적입니다.


서버 측: EF Core와 SQL Server

서버 측에서는 EF Core와 SQL Server를 사용하는 것이 일반적입니다. SQL Server는 강력한 기능, 확장성, 보안성을 제공하는 엔터프라이즈급 데이터베이스 관리 시스템(DBMS)으로, 대규모 애플리케이션과 복잡한 데이터 처리 요구사항을 지원합니다. EF Core를 통해 SQL Server 데이터베이스의 스키마를 관리하고, 데이터를 쉽게 조작할 수 있습니다.


Unity 애플리케이션 측: EF Core와 SQLite

Unity 애플리케이션 측에서는 EF Core와 SQLite를 사용하는 것이 좋습니다. SQLite는 경량화되어 있고, 외부 서버 연결 없이 로컬에서 동작하는 데이터베이스로, 모바일 애플리케이션 또는 스탠드얼론 애플리케이션에 적합합니다. Unity 프로젝트에서 SQLite를 사용하면, 애플리케이션 데이터를 로컬에 저장하고 관리할 수 있으며, 오프라인 모드에서도 데이터 접근이 가능합니다.


데이터 동기화 고려사항

서버와 Unity 애플리케이션 간에 데이터를 동기화할 필요가 있을 경우, 동기화 메커니즘을 설계할 때 몇 가지 고려사항이 있습니다:

  • 데이터 동기화 전략: 어떤 데이터를 언제, 어떻게 동기화할지 전략을 수립해야 합니다. 사용자가 수행하는 작업에 따라 즉시 동기화할지, 아니면 배치 처리할지 결정할 수 있습니다.

  • 데이터 충돌 처리: 서버와 클라이언트에서 동시에 같은 데이터를 수정할 경우 충돌이 발생할 수 있습니다. 이러한 충돌을 어떻게 해결할지 로직을 개발해야 합니다.

  • 보안: 데이터를 전송할 때는 보안을 고려해야 합니다. 데이터 암호화와 안전한 인증 방식을 사용하여 데이터의 무단 접근이나 변경을 방지해야 합니다.

  • 서버와 Unity 애플리케이션에서 서로 다른 데이터베이스 시스템을 사용하는 것은 각 환경의 요구사항과 특성에 따라 최적화할 수 있는 유연성을 제공합다. 이러한 접근 방식은 효율적인 데이터 관리와 높은 사용자 경험을 제공하는 애플리케이션을 구축하는 데 도움이 됩니다.


a15714ab041eb360b33232659d09d07d5c6e3bfdc9b2bf188cd3ced9e0552ceb09b6563317d8ce913a8ef2ef


a15714ab041eb360b33232659d09d07d5c6e3bfdc9b2bf188cd3ced9e3552cebe68e4d24bd88bab2712f9e68