![]() | |
![]() |
| | Thread Tools | Display Modes |
#11
| |||
| |||
|
|
OK, now two options: 1- Assuming if I don't use table partitioning on online database (Cluster A, B & C). Now may i get performance by using load balancing technique of P2P replication and users will use Cluster D only for reporting. 2- If I only keep one week's data everyday in my online database and move from online production to archive/reporting database. Will it be fine? All my reporting will have to use query from both databases in this manner UNION etc. Will this technique work? and improve performance? Thanks for your comments. Shamshad Ali. "Linchi Shea" <LinchiShea (AT) discussions (DOT) microsoft.com> wrote in message news:AF5D70A7-6786-494E-9E42-2617B7346866 (AT) microsoft (DOT) com... 3- Table Partitioning for Performance over large tables. Table partitioning may not necessarily give you a performance boost. If you need to regularly archive/purge older data from the table, table partitioning can help speed up that process and minimize its impact, and therefore help with performance. It's slightly more complex to manage than a single plain table, and there may be subtle issues with using table partitioning with query plans, etc. So it's not automatically a plus. The point is that you need to carefully test your apps with table partitioning. Linchi "Shamshad Ali" wrote: http://www.geocities.com/shamshad_ali74/p2pcluster.jpg Please have a look on this design and let me know if it works? 1- Database Level Load Balancing using NLB and then P2P replication. 2- HA using clustering 3- Table Partitioning for Performance over large tables. we have 100000 entries per day in master table, they might be double or 4 times more entries in transaction tables. considering this as requirement, will this design work or it has flaws? Please help. Shamshad Ali. "Tibor Karaszi" <tibor_please.no.email_karaszi (AT) hotmail (DOT) nomail.com> wrote in message news:uvrfsgb6JHA.3688 (AT) TK2MSFTNGP05 (DOT) phx.gbl... So does that mean I cannot have seperate databases on the two nodes and service two different applications? Yes, you *can* because this is what the cluster is all about. The instances in a cluster is totally separate from each other. The cluster is not any type of load-balancing, it is all about fail-over. If, say, N2 dies, then the cluster support in windows will start I2 on N1. How is that possible? Can you please elaborate? Windows cluster service monitors the other node and have various rules to see that the other machine is running and also that the other SQL Server is running. If it detects that the other node died, then the SQL Server service is started. -- Tibor Karaszi, SQL Server MVP http://www.karaszi.com/sqlserver/default.asp http://sqlblog.com/blogs/tibor_karaszi "Abba" <SQL_Help (AT) aaa (DOT) com> wrote in message news:eQtx7ta6JHA.6136 (AT) TK2MSFTNGP03 (DOT) phx.gbl... Okay. Thanks Tibor. So does that mean I cannot have seperate databases on the two nodes and service two different applications? If, say, N2 dies, then the cluster support in windows will start I2 on N1. How is that possible? Can you please elaborate? "Tibor Karaszi" <tibor_please.no.email_karaszi (AT) hotmail (DOT) nomail.com wrote in message news:OM16qoa6JHA.1196 (AT) TK2MSFTNGP03 (DOT) phx.gbl... the term "Active/Active" is misleading. What yo have is a cluster with two nodes (N1 and N2) and two SQL Server instances (not databases) I1 and I2. You normally run, say I1 on N1 and I2 on N2. If, say, N2 dies, then the cluster support in windows will start I2 on N1. Seen from the users perspective, your SQL Server died and then came alive again (the service was re-started). This is thanks to the virtual server name that a SQL Server instance have in the cluster. -- Tibor Karaszi, SQL Server MVP http://www.karaszi.com/sqlserver/default.asp http://sqlblog.com/blogs/tibor_karaszi "Abba" <SQL_Help (AT) aaa (DOT) com> wrote in message news:%23aMbmiZ6JHA.3968 (AT) TK2MSFTNGP03 (DOT) phx.gbl... Hello, Iam familiar with Active/Passive failover where you have only one instance of database and one active node at a time. So no confusion about fail-over. However, now I am facing a situation with a A/A cluster. This is my understanding, please correct me if Iam wrong: We have node1 SQLServer having a database DB1. We have node2 SQLServer having database DB2. The applications that need DB1 are connected to Node1 and apps that need DB2 are connected to node2. Suppose if there is an issue with Node1, we need to failover to Node2. So my confusion is (1) How will the DB1 data gets real-time updated on Node2? (2) How will the apps that need DB1 redirect themselves to Node2? TIA, AbbA |
#12
| |||
| |||
|
|
1. Can't really comment on P2P without knowing more about your requirements. Persoanlly, I'd keep it simple. If reporting queries are interfering with my OLTP activities, I'd use transactional replication to offload reporting queries to a different server. That is a kind of load balancing (though static) to help with the OLTP performance. 2. If you only keep one week of data, table partitioning would be useful because you can implemt the so-called sliding window, making archiving a meta-data operation without having to delete numerous rows all the time. Linchi "Shamshad Ali" wrote: OK, now two options: 1- Assuming if I don't use table partitioning on online database (Cluster A, B & C). Now may i get performance by using load balancing technique of P2P replication and users will use Cluster D only for reporting. 2- If I only keep one week's data everyday in my online database and move from online production to archive/reporting database. Will it be fine? All my reporting will have to use query from both databases in this manner UNION etc. Will this technique work? and improve performance? Thanks for your comments. Shamshad Ali. "Linchi Shea" <LinchiShea (AT) discussions (DOT) microsoft.com> wrote in message news:AF5D70A7-6786-494E-9E42-2617B7346866 (AT) microsoft (DOT) com... 3- Table Partitioning for Performance over large tables. Table partitioning may not necessarily give you a performance boost. If you need to regularly archive/purge older data from the table, table partitioning can help speed up that process and minimize its impact, and therefore help with performance. It's slightly more complex to manage than a single plain table, and there may be subtle issues with using table partitioning with query plans, etc. So it's not automatically a plus. The point is that you need to carefully test your apps with table partitioning. Linchi "Shamshad Ali" wrote: http://www.geocities.com/shamshad_ali74/p2pcluster.jpg Please have a look on this design and let me know if it works? 1- Database Level Load Balancing using NLB and then P2P replication. 2- HA using clustering 3- Table Partitioning for Performance over large tables. we have 100000 entries per day in master table, they might be double or 4 times more entries in transaction tables. considering this as requirement, will this design work or it has flaws? Please help. Shamshad Ali. "Tibor Karaszi" <tibor_please.no.email_karaszi (AT) hotmail (DOT) nomail.com wrote in message news:uvrfsgb6JHA.3688 (AT) TK2MSFTNGP05 (DOT) phx.gbl... So does that mean I cannot have seperate databases on the two nodes and service two different applications? Yes, you *can* because this is what the cluster is all about. The instances in a cluster is totally separate from each other. The cluster is not any type of load-balancing, it is all about fail-over. If, say, N2 dies, then the cluster support in windows will start I2 on N1. How is that possible? Can you please elaborate? Windows cluster service monitors the other node and have various rules to see that the other machine is running and also that the other SQL Server is running. If it detects that the other node died, then the SQL Server service is started. -- Tibor Karaszi, SQL Server MVP http://www.karaszi.com/sqlserver/default.asp http://sqlblog.com/blogs/tibor_karaszi "Abba" <SQL_Help (AT) aaa (DOT) com> wrote in message news:eQtx7ta6JHA.6136 (AT) TK2MSFTNGP03 (DOT) phx.gbl... Okay. Thanks Tibor. So does that mean I cannot have seperate databases on the two nodes and service two different applications? If, say, N2 dies, then the cluster support in windows will start I2 on N1. How is that possible? Can you please elaborate? "Tibor Karaszi" <tibor_please.no.email_karaszi (AT) hotmail (DOT) nomail.com wrote in message news:OM16qoa6JHA.1196 (AT) TK2MSFTNGP03 (DOT) phx.gbl... the term "Active/Active" is misleading. What yo have is a cluster with two nodes (N1 and N2) and two SQL Server instances (not databases) I1 and I2. You normally run, say I1 on N1 and I2 on N2. If, say, N2 dies, then the cluster support in windows will start I2 on N1. Seen from the users perspective, your SQL Server died and then came alive again (the service was re-started). This is thanks to the virtual server name that a SQL Server instance have in the cluster. -- Tibor Karaszi, SQL Server MVP http://www.karaszi.com/sqlserver/default.asp http://sqlblog.com/blogs/tibor_karaszi "Abba" <SQL_Help (AT) aaa (DOT) com> wrote in message news:%23aMbmiZ6JHA.3968 (AT) TK2MSFTNGP03 (DOT) phx.gbl... Hello, Iam familiar with Active/Passive failover where you have only one instance of database and one active node at a time. So no confusion about fail-over. However, now I am facing a situation with a A/A cluster. This is my understanding, please correct me if Iam wrong: We have node1 SQLServer having a database DB1. We have node2 SQLServer having database DB2. The applications that need DB1 are connected to Node1 and apps that need DB2 are connected to node2. Suppose if there is an issue with Node1, we need to failover to Node2. So my confusion is (1) How will the DB1 data gets real-time updated on Node2? (2) How will the apps that need DB1 redirect themselves to Node2? TIA, AbbA |
#13
| |||
| |||
|
|
My question is about this transition. How does the DB1 data gets updated in Node2 real-time? Aaron, provided the long explanation for this, make sure you read his post thoroghly. I just want to gove a directed short comment: An SQL Server instance has a shared disk, typically on a SAN. The cluster support in windows makes sure that only one of the nodes can access this at a time. This is where all the data sits (database files etc). When a node fails, the cluster service makes sure that the new node owns and sees this disk before the database engine starts. -- Tibor Karaszi, SQL Server MVP http://www.karaszi.com/sqlserver/default.asp http://sqlblog.com/blogs/tibor_karaszi "Abba" <SQL_Help (AT) aaa (DOT) com> wrote in message news:e%232ITtb6JHA.1432 (AT) TK2MSFTNGP02 (DOT) phx.gbl... The instances in a cluster is totally separate from each other. Yes, I agree. Thus DB1 on Node1 is totally different from DB2 in Node2. And they service two different applications real-time;both nodes are up and running. . Bottomline is Active/Active clustering refers to a two-node cluster, with each node running SQL Server instances but each with a different set of databases. Now, lets say Node1 dies, then as per what you mentioned, the DB1 should be available in Node2. But Node2 does not have a local copy of DB1. My question is about this transition. How does the DB1 data gets updated in Node2 real-time? Yes, you *can* because this is what the cluster is all about. See what Richard mentions here: http://www.sqlmag.com/Article/Articl...ver_44938.html ."Note that only one server at a time can open a SQL Server database. If you want to implement a system in which you can update data in two places at once, you need to read about SQL Server's various data-replication options in BOL ..." Thank you Tibor. "Tibor Karaszi" <tibor_please.no.email_karaszi (AT) hotmail (DOT) nomail.com> wrote in message news:uvrfsgb6JHA.3688 (AT) TK2MSFTNGP05 (DOT) phx.gbl... So does that mean I cannot have seperate databases on the two nodes and service two different applications? Yes, you *can* because this is what the cluster is all about. The instances in a cluster is totally separate from each other. The cluster is not any type of load-balancing, it is all about fail-over. If, say, N2 dies, then the cluster support in windows will start I2 on N1. How is that possible? Can you please elaborate? Windows cluster service monitors the other node and have various rules to see that the other machine is running and also that the other SQL Server is running. If it detects that the other node died, then the SQL Server service is started. -- Tibor Karaszi, SQL Server MVP http://www.karaszi.com/sqlserver/default.asp http://sqlblog.com/blogs/tibor_karaszi "Abba" <SQL_Help (AT) aaa (DOT) com> wrote in message news:eQtx7ta6JHA.6136 (AT) TK2MSFTNGP03 (DOT) phx.gbl... Okay. Thanks Tibor. So does that mean I cannot have seperate databases on the two nodes and service two different applications? If, say, N2 dies, then the cluster support in windows will start I2 on N1. How is that possible? Can you please elaborate? "Tibor Karaszi" <tibor_please.no.email_karaszi (AT) hotmail (DOT) nomail.com wrote the term "Active/Active" is misleading. What yo have is a cluster with two nodes (N1 and N2) and two SQL Server instances (not databases) I1 and I2. You normally run, say I1 on N1 and I2 on N2. If, say, N2 dies, then the cluster support in windows will start I2 on N1. Seen from the users perspective, your SQL Server died and then came alive again (the service was re-started). This is thanks to the virtual server name that a SQL Server instance have in the cluster. -- Tibor Karaszi, SQL Server MVP http://www.karaszi.com/sqlserver/default.asp http://sqlblog.com/blogs/tibor_karaszi "Abba" <SQL_Help (AT) aaa (DOT) com> wrote in message news:%23aMbmiZ6JHA.3968 (AT) TK2MSFTNGP03 (DOT) phx.gbl... Hello, Iam familiar with Active/Passive failover where you have only one instance of database and one active node at a time. So no confusion about fail-over. However, now I am facing a situation with a A/A cluster. This is my understanding, please correct me if Iam wrong: We have node1 SQLServer having a database DB1. We have node2 SQLServer having database DB2. The applications that need DB1 are connected to Node1 and apps that need DB2 are connected to node2. Suppose if there is an issue with Node1, we need to failover to Node2. So my confusion is (1) How will the DB1 data gets real-time updated on Node2? (2) How will the apps that need DB1 redirect themselves to Node2? TIA, AbbA |
#14
| |||
| |||
|
|
A more common scenario (well, active/passive is definitely most common, but after that) is active/active/passive. So you have two nodes that are up running their own instance(s) of SQL Server, and then a standby server which can take over for *either* server in the event of a failover. Now this solution is less "risky" than the active/active case because the only time you will overload in the event of failover is if *both* active machines fail. |
![]() |
| Thread Tools | |
| Display Modes | |
| |