특별한 이유가 있지 않다면 보통 서버와의 통신은 HTTP를 통하여 처리합니다. DB 데이터를 주고 받기위해 모바일에서 소켙을 사용하는 것은 좀처럼 사용하지 않는 방법입니다.
그리고 서버에서 사용할 수 있는 랭귀지/프레임워크 등은 다양합니다.
NodeJs, PHP, .NET, J2EE, GoLang
등등 상당히 많고 정답이 없으므로, 님의 요구사항에 제일 적합한 걸 사용하면 됩니다.
Database 또한 마찬가지입니다.
mySQL, PostgresSQL, MS-SQL, MongoDB,
등등... 상당히 종류가 많습니다. 이것도 님의 프로젝트에 맞게 고르셔서 사용하시면 됩니다.