iOS 응용 프로그램과의 통신을 통해 백엔드 서버 및 API (PHP)를 설정해야하는 클라이언트에서 프로젝트를 가져 왔습니다. 앱에 대해 너무 자세하게 설명 할 수는 없지만 대부분 사회적으로 기반을두고 있으므로 요청을 받으면 데이터베이스를 지속적으로 업데이트해야합니다.이 데이터베이스는 어떻게 관리해야합니까?
현재 데이터베이스는 사용자, 장소 및 대기열의 세 가지 테이블로 구성됩니다. 현재 요청이있을 때마다 데이터베이스에서 관련 데이터를 검색하지만 데이터베이스 또는 확장 성의 '확장 성'을 향상시키는 방법을 구현해야하는지 궁금해하기 시작합니다.) memcachd 또는 Redis를 개선하기 위해. 앱이 소셜이되고 잠재적으로 대규모 사용자 기반을 보유 할 수 있으므로 필요합니까? 그리고 초당 수백 건의 요청에 대해 우수한 성능의 데이터베이스를 사용하고 있습니까? 아니면 다른 데이터베이스로 전환해야합니까?
고급 사용자, 고맙습니다.
최대
P.S 내 구조를 골라 내고, 누군가가 관심을 보였던 지형에 배치하십시오.
CREATE TABLE `Queues` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userID` int(11) NOT NULL,
`Creation_Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Last_Updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`venueID` int(11) NOT NULL,
`Wait_Time` int(10) NOT NULL,
`Line_Length` int(10) NOT NULL,
`Note` varchar(250) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;
CREATE TABLE `Users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`First_Name` text NOT NULL,
`Last_Name` text NOT NULL,
`Username` text NOT NULL,
`Password` text NOT NULL,
`Email` text NOT NULL,
`Signup_Method` text NOT NULL,
`Signup_Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Number_of_Lines` int(11) NOT NULL,
`Number_of_Venues` int(11) NOT NULL,
`Last_Updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=27 ;
CREATE TABLE `Venues` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userID` int(11) NOT NULL,
`foursquareID` int(11) NOT NULL,
`Name` text NOT NULL,
`Latitude` text NOT NULL,
`Longitude` text NOT NULL,
`Address_Line1` text NOT NULL,
`Address_Line2` text NOT NULL,
`Post_Code` text NOT NULL,
`Country` text NOT NULL,
`Description` text NOT NULL,
`Created_At` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Last_Updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;