SQL Databases Don't Scale £¨¼òÒ룩
ÎÒ¾³£ÎʵÄÒ»¸öÎÊÌâÊÇ£ºÄãÊÇÈçºÎÀ´À©Õ¹SQL DatabaseµÄ£¿ÓкܶàµÄ·½·¨¿ÉÒÔ×öµ½£¬±ÈÈçʹÓûº´æ£¬¹²Ïí»òÕßÓÃÆäËûµÄ¼¼Êõ½«Ñ¹Á¦´ÓÊý¾Ý¿âÊÍ·Å£¬µ«Êµ¼ÊÉÏÎÒÃÇûÓС£SQL Database´Ó¸ù±¾ÉÏÀ´ËµÊDz»¾ßÓÐÀ©Õ¹ÐԵģ¬ÎÒÃÇҲûÓÐħ·¨Ê¹ËüºöÈ»¾ßÓÐÀ©Õ¹ÐÔ¡£
ʲôÊÇÀ©Õ¹ÐÔ£¿
±ØÐë¾ßÓм¸Ï¼¸µã£º
ºáÏòÀ©Õ¹£º¸ü¶àµÄserver¿ÉÒÔ´øÀ´¸ü¸ßµÄÐÔÄÜ¡£
¶ÔÓ¦ÓóÌÐòµÄ͸Ã÷ÐÔ£ºÀ©Õ¹µÄʵÏÖ¶ÔÓÚÒµÎñÂß¼À´ËµÊÇ͸Ã÷µÄ£¬Âß¼ÉÏÖ»ÓÐÒ»¸öserver·þÎñÓÚÒµÎñ¡£
µ¥µãʧ°Ü²»»áµ¼Ö¹ÊÕÏ£ºµ¥¸öserver»òÕß½ÚµãµÄå´»ú²»»áµ¼ÖÂϵͳµÄʧ°Ü¡£
½ÓÏÂÀ´£¬ÈÃÎÒÃÇ¿´Ò»Ð©¼¼ÊõÈçºÎ“À©Õ¹”SQL DatabaseÒÔ¼°ËûÃÇΪʲôûÓдﵽÒÔÉϼ¸µã¡£
×ÝÏòÀ©Õ¹
Ò»ÖÖ·½·¨È¥À©Õ¹SQL DatabaseÊÇÂò¸ü´óµÄserver»òÕß´æ´¢¡£Õâ´øÀ´µÄÎÊÌâÊÇ£º
ÔËÊä±äµÄ¸´ÔÓ
ÔÀ´µÄ»úÆ÷Âäºó£¬Éý¼¶±äµÄÀË·Ñ×ÊÔ´
Äã²»ÖªµÀµ½µ×ÀàËÆÈÝÁ¿ÕâÑùµÄÎÊÌâ»á±äµÄÓжà´ó
Õâ¸ö²»·ûºÏÀ©Õ¹ÐԵĵÚÒ»Ìõ¡£
·ÖÇø£¬¹²Ïí
¸ù¾ÝÂß¼¶ÔÊý¾Ý½øÐзÖÇø¡£ÕâÖÖ·½·¨Ò²ÊÇ×ÝÏòÀ©Õ¹µÄÒ»ÖÖ·½·¨£¬Ëü½ôÃÜÒÀÀµÓÚÓ¦Óò¢ÇÒÄãÐèÒª×ÐϸµÄÈ¥¼Æ»®ÄãµÄschema¡£
ÕâÖÖ·½·¨¶ÔÓÚ³ÌÐòÀ´ËµÊDz»Í¸Ã÷µÄ£¬±ØÐëºÍÒµÎñ½áºÏÔÚÒ»Æð£¬²»·ûºÏÀ©Õ¹ÐԵĵڶþÌõ¡£¸üÑÏÖØµÄÎÊÌâÊÇ£¬Êý¾Ý¿âÊǹØÏµÊý¾Ý¿â£¬´æ´¢µÄÊý¾ÝÒ²ÊÇÏà¹ØµÄ£¬ÕâÑùµÄÏà¹ØÊý¾Ý·Ö²¼ÔÚ¶à¸öserverÉÏ£¬ÄãÐèҪΪÕâÑùÖØ¸´µÄ¹ØÏµ·þÎñ£¬¶øÇÒµ±ËûÃÇ·µ»ØÊ±±ØÐëÔÚ¿Í»§¶ËÖØÐ¹¹½¨ÕâÑùµÄ¹ØÏµ¡£
Ö»¶ÁµÄSlave
MySqlµÄɱÊÖ¼¶Ó¦ÓþÍÊÇÅäÖ÷½±ãµÄmaster-slave¸´ÖÆ£¬Äã¿ÉÒÔÓÃÒ»¸öread-only-slaveÀ´´¦ÀíÄãµÄ¶ÁÓ¦Óöø°ÑËùÓеÄinsert update delete¶¼ÓÉmasterÀ´´¦Àí¡£
ÕâÖÖ·½Ê½ÊÇ×îºÃµÄÀ©Õ¹·½Ê½£¬ÕâÒ²ÊǺܶà´óÐ͵ÄMySqlÔÚʹÓõķ½·¨¡£¶ÔÓÚ¶ÁÀ©Õ¹À´ËµÕâÑùµÄ·½·¨ÊǺõ쬶ÔÓÚдÀ©Õ¹À´ËµÕâÑùµÄЧÂÊ»¹ÊDz»Ðе쬶øÇÒµ±Äãά»¤master serverµÄʱºò£¬Ò²»áÔì³ÉÕû¸öϵͳµÄå´»ú¡£
ÔÎÄ£ºhttp://adam.blog.heroku.com/past/2009/7/6/sql_databases_dont_scale/
Ïà¹ØÎĵµ£º
1.SQL SERVERµÄÊý¾ÝÀàÐÍ
¡¡¡¡Êý¾ÝÀàŪÊÇÊý¾ÝµÄÒ»ÖÖÊôÐÔ£¬±íʾÊý¾ÝËù±íʾÐÅÏ¢µÄÀàÐÍ¡£ÈκÎÒ»ÖÖ¼ÆËã»úÓïÑÔ¶¼¶¨ÒåÁË×Ô¼ºµÄÊý¾ÝÀàÐÍ¡£µ±È»£¬²»Í¬µÄ³ÌÐòÓïÑÔ¶¼¾ßÓв»Í¬µÄÌØµã£¬Ëù¶¨ÒåµÄÊý¾ÝÀàÐ͵ĸ÷ÀàºÍÃû³Æ¶¼»ò¶à»òÉÙÓÐЩ²»Í¬¡£SQLServer ÌṩÁË 25 ÖÖÊý¾ÝÀàÐÍ£º
¡¡¡¡·Binary [(n)]
¡¡¡¡·Varbinary [(n)]
¡¡ ......
ÔÚSQL SERVER 2005/2008ÖÐÓµÓÐÒ»¸ö¶ÔÏó
´ÓSQL SERVER2000Éý¼¶µ½2005/2008ºó£¬Ò»¸öÎÒÃDZØÐëÖØÐÂÈÏʶµÄÇé¿öÊǶÔÏó²»ÔÙÓÐËùÓÐÕߣ¨owner£©¡£¼Ü¹¹°üº¬¶ÔÏ󣬼ܹ¹ÓÐËùÓÐÕß¡£Èç¹ûÄã²éѯ±ísys.objects£¬Ä㽫»á¿´µ½Õâ¿´ÆðÀ´ÊÇÕýÈ·µÄ£¬Ö»ÊDZíÖл¹ÓÐÒ»¸ö×Ö¶Îprincipal_id£¬µ«ÊÇÒ»°ãÇé¿öÏÂËü×ÜÊÇNULLÖµ¡£²»¾ÃǰһÌ죬ÎÒͻȻ¶Ôprincipal ......
´´½¨×÷Òµ£º
DECLARE @jobid uniqueidentifier, @jobname sysname
SET @jobname = N'×÷ÒµÃû³Æ'
IF EXISTS(SELECT * from msdb.dbo.sysjobs WHERE name=@jobname)
EXEC msdb.dbo.sp_delete_job @job_name=@jobname
EXEC msdb.dbo.sp_add_job
@job_name = @jobname,
@job_id = @jobid OUTPUT
--¶¨Òå×÷Òµ²½Öè
DECLARE ......
MYSQL¿ÉÒÔÔÚ¿ØÖÆÌ¨Ï½øÐвÙ×÷£¬ÀûÓÃÃüÁî
SQL´úÂë
mysql -h localhost -u root -p123456
¾Í¿ÉÒԵǽMYSQLµÄ¿ØÖÆÌ¨¡£
sql serverÒ²ÌṩÁË¿ØÖÆÌ¨ÏµIJÙ×÷¹¦ÄÜ¡£
ÔÚSQL SERVERµÄ binnĿ¼Ï£¬ÌṩÁËosql.exeÓëisql.exeÕâÁ½¸öÎļþ¡£
ÕâÁ½¸ö³ÌÐò¶¼ÌṩÁË·ÃÎÊSQL SERVERµÄ¹¦ÄÜ£¬ÕâÁ ......