±à¼ÍƼö: |
±¾ÆªÎÄÕ½«Îª´ó¼Ò½²½âÁËgreenplumÊÇʲô£¬ËüµÄÌØÐÔÓÐʲô£¬greenplum
ÆðÔ´¡¢greenplum×ÜÌå¼Ü¹¹¡¢²¢ÐйÜÀíÒÔ¼°»ìºÏµÄ´æ´¢ºÍÖ´ÐУ¨°´Áлò°´ÐУ©¡£
±¾ÎÄÀ´×ÔÓÚ²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£
|
|
greenplum¼ò½é GreenPlumÊÇÃæÏòÊý¾Ý²Ö¿âÓ¦ÓõĹØÏµÐÍÊý¾Ý¿â£¬»ùÓÚPostgreSQL¿ª·¢£¬¸úPostgreSQLµÄ¼æÈÝÐԷdz£ºÃ£¬´ó²¿·ÖPostgreSQL¿Í»§¶Ë¹¤¾ß¼°PostgreSQLÓ¦Óö¼ÄÜÔËÐÐÔÚGreenPlumƽ̨ÉÏ¡£ÏëҪѧϰGreenPlum£¬¿ÉÒÔÏÈ¿´Ò»¿´PostgreSQLµÄ×ÊÁÏ¡£

1.greenplumÊôÓÚOLAP Êý¾Ý¿âϵͳһ°ã·ÖΪÁ½ÖÖÀàÐÍ£ºOLTP¡¢OLAP£º
OLTP£¨On-Line Transaction Processing£¬Áª»úÊÂÎñ´¦Àí£©ÏµÍ³£ºÒ²³ÆÎªÉú²úϵͳ£¬ËüÊÇʼþÇý¶¯µÄ¡¢ÃæÏòÓ¦Óõ쬱ÈÈçµç×ÓÉÌÎñÍøÕ¾µÄ½»Ò×ϵͳ¾ÍÊÇÒ»¸öµäÐ͵ÄOLTPϵͳ¡£
OLTPµÄ»ù±¾Ìص㣺
Êý¾ÝÔÚϵͳÖвúÉú »ùÓÚ½»Ò׵Ĵ¦Àíϵͳ£¨Transaction-Based£© ÿ´Î½»Ò×Ç£ÉæµÄÊý¾ÝÁ¿ºÜС ¶ÔÏìӦʱ¼äÒªÇó·Ç³£¸ß Óû§ÊýÁ¿·Ç³£ÅÓ´ó£¬Ö÷ÒªÊDzÙ×÷ÈËÔ± Êý¾Ý¿âµÄ¸÷ÖÖ²Ù×÷Ö÷Òª»ùÓÚË÷Òý½øÐÐ OLAP£¨On-Line Analytical Processing£¬Áª»ú·ÖÎö´¦Àí£©ÏµÍ³£ºÊÇ»ùÓÚÊý¾Ý²Ö¿âµÄÐÅÏ¢·ÖÎö´¦Àí¹ý³Ì£¬ÊÇÊý¾Ý²Ö¿âµÄÓû§½Ó¿Ú²¿·Ö¡£Êǿ粿Ãŵġ¢ÃæÏòÖ÷ÌâµÄ¡£
OLAPµÄ»ù±¾ÌصãÊÇ£º
±¾Éí²»²úÉúÊý¾Ý£¬Æä»ù´¡Êý¾ÝÀ´Ô´ÓÚÉú²úϵͳÖеIJÙ×÷Êý¾Ý£¨OperationalData£© »ùÓÚ²éѯµÄ·ÖÎöϵͳ ¸´ÔÓ²éѯ¾³£Ê¹Óöá±êÁª½á¡¢È«±íɨÃèµÈ£¬Ç£ÉæµÄÊý¾ÝÁ¿ÍùÍùÊ®·ÖÅÓ´ó ÏìӦʱ¼äÓë¾ßÌå²éѯÓкܴó¹ØÏµ Óû§ÊýÁ¿Ïà¶Ô½ÏС£¬ÆäÓû§Ö÷ÒªÊÇÒµÎñÈËÔ±Óë¹ÜÀíÈËÔ± ÓÅÓÚÒµÎñÎÊÌâ²»¹Ì¶¨£¬Êý¾Ý¿âµÄ¸÷ÖÖ²Ù×÷²»ÄÜÍêÈ«»ùÓÚË÷Òý½øÐÐ 2.·á¸»µÄÌØÐÔ Èç¹ûÏëÔÚÊý¾Ý²Ö¿âÖпìËÙ²éѯ½á¹û£¬¿ÉÒÔʹÓÃgreenplum¡£
GreenplumÊý¾Ý¿âÒ²¼ò³ÆGPDB¡£ËüÓµÓзḻµÄÌØÐÔ£º
µÚÒ»£¬ÍêÉÆµÄ±ê×¼Ö§³Ö£ºGPDBÍêȫ֧³ÖANSI SQL 2008±ê×¼ºÍSQL OLAP 2003
À©Õ¹£»´ÓÓ¦Óñà³Ì½Ó¿ÚÉϽ²£¬ËüÖ§³ÖODBCºÍJDBC¡£ÍêÉÆµÄ±ê×¼Ö§³ÖʹµÃϵͳ¿ª·¢¡¢Î¬»¤ºÍ¹ÜÀí¶¼´óΪ·½±ã¡£¶øÏÖÔÚµÄ
NoSQL£¬NewSQLºÍHadoop ¶Ô SQL µÄÖ§³Ö¶¼²»ÍêÉÆ£¬²»Í¬µÄϵͳÐèÒªµ¥¶À¿ª·¢ºÍ¹ÜÀí£¬ÇÒÒÆÖ²ÐÔ²»ºÃ¡£
µÚ¶þ£¬Ö§³Ö·Ö²¼Ê½ÊÂÎñ£¬Ö§³ÖACID¡£±£Ö¤Êý¾ÝµÄǿһÖÂÐÔ¡£
µÚÈý£¬×öΪ·Ö²¼Ê½Êý¾Ý¿â£¬ÓµÓÐÁ¼ºÃµÄÏßÐÔÀ©Õ¹ÄÜÁ¦¡£ÔÚ¹úÄÚÍâÓû§Éú²ú»·¾³ÖУ¬¾ßÓÐÉϰٸöÎïÀí½ÚµãµÄGPDB¼¯Èº¶¼ÓкܶసÀý¡£
µÚËÄ£¬GPDBÊÇÆóÒµ¼¶Êý¾Ý¿â²úÆ·£¬È«ÇòÓÐÉÏǧ¸ö¼¯ÈºÔÚ²»Í¬¿Í»§µÄÉú²ú»·¾³ÔËÐС£ÕâЩ¼¯ÈºÎªÈ«ÇòºÜ¶à´óµÄ½ðÈÚ¡¢Õþ¸®¡¢ÎïÁ÷¡¢ÁãÊ۵ȹ«Ë¾µÄ¹Ø¼üÒµÎñÌṩ·þÎñ¡£
µÚÎ壬GPDBÊÇGreenplum£¨ÏÖÔÚµÄPivotal£©¹«Ë¾Ê®¶àÄêÑз¢Í¶ÈëµÄ½á¹û¡£GPDB»ùÓÚPostgreSQL
8.2£¬PostgreSQL 8.2ÓдóÔ¼80ÍòÐÐÔ´´úÂ룬¶øGPDBÏÖÔÚÓÐ130ÍòÐÐÔ´Âë¡£Ïà±ÈPostgreSQL
8.2£¬Ôö¼ÓÁËÔ¼50ÍòÐеÄÔ´´úÂë¡£
µÚÁù£¬GreenplumÓкܶàºÏ×÷»ï°é£¬GPDBÓÐÍêÉÆµÄÉú̬ϵͳ£¬¿ÉÒÔÓëºÜ¶àÆóÒµ¼¶²úÆ·¼¯³É£¬Æ©ÈçSAS£¬Cognos£¬Informatic£¬TableauµÈ£»Ò²¿ÉÒԺܶàÖÖ¿ªÔ´Èí¼þ¼¯³É£¬Æ©ÈçPentaho,Talend
µÈ¡£
3.greenplumÆðÔ´ Greenplum×îÔçÊÇÔÚ10¶àÄêǰ£¨´óÔ¼ÔÚ2002Ä꣩³öÏֵ쬻ù±¾ÉϺÍHadoopÊÇͬһʱÆÚ£¨Hadoop
Ô¼ÊÇ2004Äêǰºó£¬ÔçÆÚµÄNutch¿É×·Ëݵ½2002Ä꣩¡£µ±Ê±µÄ±³¾°ÊÇ£º
»¥ÁªÍøÐÐÒµ¾¹ý֮ǰ½ü10ÄêµÄÓÉÂýµ½¿ìµÄ·¢Õ¹£¬ÀÛ»ýÁË´óÁ¿ÐÅÏ¢ºÍÊý¾Ý£¬Êý¾ÝÔÚ±¬·¢Ê½Ôö³¤£¬ÕâЩº£Á¿Êý¾Ý¼±ÐèеļÆË㷽ʽ£¬ÐèÒªÒ»³¡¼ÆË㷽ʽµÄ¸ïÃü£» ´«Í³µÄÖ÷»ú¼ÆËãģʽÔÚº£Á¿Êý¾ÝÃæÇ°£¬³ýÁËÔì¼Û°º¹óÍ⣬ÔÚ¼¼ÊõÉÏÒ²ÄÑÓÚÂú×ãÊý¾Ý¼ÆËãÐÔÄÜÖ¸±ê£¬´«Í³Ö÷»úµÄScale-upģʽÓöµ½ÁËÆ¿¾±£¬SMP£¨¶Ô³Æ¶à´¦Àí£©¼Ü¹¹ÄÑÓÚÀ©Õ¹£¬²¢ÇÒÔÚCPU¼ÆËãºÍIOÍÌÍÂÉϲ»ÄÜÂú×㺣Á¿Êý¾ÝµÄ¼ÆËãÐèÇó£» ·Ö²¼Ê½´æ´¢ºÍ·Ö²¼Ê½¼ÆËãÀíÂÛ¸Õ¸Õ±»Ìá³öÀ´£¬GoogleµÄÁ½ÆªÖøÃûÂÛÎÄ·¢±íºóÒýÆðÒµ½çµÄ¹Ø×¢£¬Ò»ÆªÊǹØÓÚGFS·Ö²¼Ê½Îļþϵͳ£¬ÁíÍâһƪÊǹØÓÚMapReduce
²¢ÐмÆËã¿ò¼ÜµÄÀíÂÛ£¬·Ö²¼Ê½¼ÆËãģʽÔÚ»¥ÁªÍøÐÐÒµÌØ±ðÊÇÊÕË÷ÒýÇæºÍ·Ö´Ê¼ìË÷µÈ·½Ãæ»ñµÃÁ˾޴ó³É¹¦¡£ ÏÂͼ¾ÍÊÇGFSµÄ¼Ü¹¹

4.greenplum×ÜÌå¼Ü¹¹ 1.greenplumµÄ×ÜÌå¼Ü¹¹ÈçÏ£º 
Êý¾Ý¿âÓÉMaster SeversºÍSegment Seversͨ¹ýInterconnect»¥Áª×é³É¡£
Master½Úµã£ºÊÇÕû¸öϵͳµÄ¿ØÖÆÖÐÐĺͶÔÍâµÄ·þÎñ½ÓÈëµã£¬Ëü¸ºÔð½ÓÊÕÓû§SQLÇëÇ󣬽«SQLÉú³É²éѯ¼Æ»®²¢½øÐв¢Ðд¦ÀíÓÅ»¯£¬È»ºó½«²éѯ¼Æ»®·ÖÅ䣨dispatch£©µ½ËùÓеÄSegment½Úµã½øÐв¢Ðд¦Àí£¬Ðµ÷×éÖ¯¸÷¸öSegment½Úµã°´ÕÕ²éѯ¼Æ»®Ò»²½Ò»²½µØ½øÐв¢Ðд¦Àí£¬×îºó»ñÈ¡µ½SegmentµÄ¼ÆËã½á¹û£¬ÔÙ·µ»Ø¸ø¿Í»§¶Ë£»´ÓÓû§µÄ½Ç¶È¿´Greenplum¼¯Èº£¬¿´µ½µÄÖ»ÊÇMaster½Úµã,ÎÞÐè¹ØÐļ¯ÈºÄÚ²¿µÄ»úÖÆ£¬ËùÓеIJ¢Ðд¦Àí¶¼ÊÇÔÚMaster¿ØÖÆÏÂ×Ô¶¯Íê³ÉµÄ¡£Master½ÚµãÒ»°ãÖ»ÓÐÒ»¸ö»òÁ½¸ö£¨»¥Îª±¸·Ý£©£» Segment½Úµã£ºÊÇGreenplumÖ´Ðв¢ÐÐÈÎÎñµÄ²¢ÐÐÔËËã½Úµã£¬Ëü½ÓÊÕMasterµÄÖ¸Áî½øÐÐMPP²¢ÐмÆË㣬Òò´ËËùÓÐSegment½ÚµãµÄ¼ÆËãÐÔÄÜ×ܺ;ÍÊÇÕû¸ö¼¯ÈºµÄÐÔÄÜ£¬Í¨¹ýÔö¼ÓSegment½Úµã£¬¿ÉÒÔÏßÐÔ»¯µÃÔö¼Ó¼¯ÈºµÄ´¦ÀíÐÔÄܺʹ洢ÈÝÁ¿£¬Segment½Úµã¿ÉÒÔÊÇ1~10000¸ö½Úµã£» Interconnect£ºÊÇMaster½ÚµãÓëSegment½Úµã¡¢Segment½ÚµãÓëSegment½ÚµãÖ®¼äµÄÊý¾Ý´«Êä×é¼þ£¬Ëü»ùÓÚǧÕ×½»»»»ú»òÍòÕ×½»»»»úʵÏÖÊý¾ÝÔÚ½Úµã¼äµÄ¸ßËÙ´«Ê䣻 ÍⲿÊý¾Ý¼ÓÔØµ½Greenplumʱ£¬²ÉÓò¢ÐÐÊý¾ÝÁ÷½øÐмÓÔØ£¬Ö±½Ó¼ÓÔØµ½Segment½Úµã£¬ÕâÏî¶ÀÌØµÄ¼¼ÊõÊÇGreenplumµÄרÓм¼Êõ£¬ÒԴ˱£Ö¤ÍⲿÊý¾ÝÔÚ×î¶Ìʱ¼äÄÚ¼ÓÔØµ½Êý¾Ý¿âÖС£ ¼òµ¥À´Ëµ
MasterÖ÷»ú¸ºÔ𣺽¨Á¢Óë¿Í»§¶ËµÄÁ¬½ÓºÍ¹ÜÀí£»SQLµÄ½âÎö²¢ÐγÉÖ´Ðмƻ®£»Ö´Ðмƻ®ÏòSegmentµÄ·Ö·¢ÊÕ¼¯SegmentµÄÖ´Ðнá¹û£»Master²»´æ´¢ÒµÎñÊý¾Ý£¬Ö»´æ´¢Êý¾Ý×ֵ䡣
SegmentÖ÷»ú¸ºÔð£ºÒµÎñÊý¾ÝµÄ´æ´¢ºÍ´æÈ¡£»Óû§²éѯSQLµÄÖ´ÐС£
2.»ù±¾Ìåϵ¼Ü¹¹ 
master½Úµã£¬¿ÉÒÔ×ö³É¸ß¿ÉÓõļܹ¹

master node¸ß¿ÉÓã¬ÀàËÆÓÚhadoopµÄnamenodeºÍsecond namenode£¬ÊµÏÖÖ÷±¸µÄ¸ß¿ÉÓá£

segments½Úµã

3.ÎÞ¹²Ïí/MPPºËÐļܹ¹ GreenplumÊý¾Ý¿âÈí¼þ½«Êý¾Ýƽ¾ù·Ö²¼µ½ÏµÍ³µÄËùÓнڵã·þÎñÆ÷ÉÏ£¬ËùÒÔ½Úµã´æ´¢Ã¿Õűí»ò±í·ÖÇøµÄ²¿·ÖÐУ¬ËùÓÐÊý¾Ý¼ÓÔØºÍ²éѯ¶¼ÊÇ×Ô¶¯ÔÚ¸÷¸ö½Úµã·þÎñÆ÷Éϲ¢ÐÐÔËÐУ¬²¢ÇҸüܹ¹Ö§³ÖÀ©Õ¹µ½ÉÏÍò¸ö½Úµã¡£

5.²¢ÐйÜÀí ¶ÔÓÚÊý¾ÝµÄ×°ÔØºÍÐÔÄÜ¼à¿Ø¡£

²¢Ðб¸·ÝºÍ»Ö¸´¡£

Êý¾Ý·ÃÎÊÁ÷³Ì£¬Êý¾Ý·Ö²¼µ½²»Í¬ÑÕÉ«µÄ½ÚµãÉÏ

²éѯÁ÷³Ì·ÖΪ²éѯ´´½¨ºÍ²éѯ·Ö·¢£¬¼ÆËãºó½«½á¹û·µ»Ø¡£

¶ÔÓÚ´æ´¢£¬½«´æ´¢µÄÄÚÈÝ·Ö²¼µ½¸÷¸ö½áµãÉÏ¡£

¶ÔÓÚÊý¾ÝµÄ·Ö²¼£¬·ÖΪhash·Ö²¼ºÍËæ»ú·Ö²¼Á½ÖÖ¡£

¾ùÔÈ·Ö²¼µÄÇé¿ö£º

6.»ìºÏµÄ´æ´¢ºÍÖ´ÐУ¨°´Áлò°´ÐУ© Greenplum·¢Ã÷Ö§³Ö»ìºÏ°´Áлò°´Ðд洢Êý¾Ý£¬Ã¿Õűí»ò±í·ÖÇø¿ÉÒÔÓɹÜÀíÔ±¸ù¾ÝÓ¦ÓÃÐèÒª£¬·Ö±ðÖ¸¶¨´æ´¢ºÍѹËõ·½Ê½¡£»ùÓÚÕâ¸ö¹¦ÄÜ£¬Óû§¿ÉÒÔ¶ÔÈκαí»ò±í·ÖÇøÑ¡Ôñ°´Ðлò°´Áд洢Êý¾ÝºÍ´¦Àí·½Ê½¡£ÕâЩÊÇÔÚ½¨±í»ò±í·ÖÇøµÄDDLÓï¾äÖÐÅäÖõģ¬Ö»ÐèÔÚ½¨±í»ò±í·ÖÇøÊ±Ö¸¶¨¡£Õâ¸ö¹¦ÄÜ»ùÓÚGreenplumµÄ¶à̬άÊý¾Ý´æ´¢¼¼Êõ¡£
MasterºÍSegment¶¼ÊÇÒ»¸öµ¥¶ÀµÄPostgreSQLÊý¾Ý¿â¡£Ã¿Ò»¸ö¶¼ÓÐ×Ô¼ºµ¥¶ÀµÄÒ»Ì×ÔªÊý¾Ý×ֵ䡣
Master½ÚµãÒ»°ãÒ²½ÐÖ÷½Úµã£¬Segment½Ð×öÊý¾Ý½Úµã¡£
ΪÁËʵÏָ߿ÉÓã¬Ã¿¸öSegment¶¼ÓжÔÓ¦µÄ±¸½Úµã Mirror Segment·Ö±ð´æÔÚÓ벻ͬµÄ»úÆ÷ÉÏ¡£
ClientÒ»°ãÖ»ÄÜÓëMaster½Úµã½øÐн»»¥£¬Client½«SQL·¢¸øMaster£¬È»ºóMaster¶ÔSQL½øÐзÖÎöºóÔÙ½«Æä·ÖÅ䏸ËùÓеÄSegment½øÐвÙ×÷¡£
GreenplumûÓÐWindows°æ±¾£¬Ö»Äܰ²×°ÔÚÀàUNIXµÄ²Ù×÷ϵͳÉÏ¡£
Greenplumn¼«¶ÈÏûºÄI/O×ÊÔ´£¬ËùÒÔ¶Ô´æ´¢µÄÒªÇó±È½Ï¸ß¡£
|