--- title: "Transaction Group Examples" --- # Transaction Group Examples > * **Standard**: The heart of bi-directional data storage and management > * **Historical**: Simple historical trending > * **Block**: Efficient large scale data storage > * **Stored Procedure**: Interact with existing protected data systems ## Transaction Groups There are four basic types of Transaction Groups that can be used in Ignition: This Section has examples for each type of group and shows the different ways that you can use them. For a more complete understanding of how the parts of each group works, see [Understanding Transaction Groups.](sql-bridge-transaction-groups/understanding-transaction-groups/understanding-transaction-groups.md) ## Standard Group The [Standard Group](sql-bridge-transaction-groups/transaction-group-examples/bi-directional-group.md) is the most flexible group. It is commonly used as a bi-directional sync between your PLCs and databases. In addition to this, it can also be used to push data in either direction. This means the Standard Group can be used to store historical data, [add to/update existing tables](sql-bridge-transaction-groups/transaction-group-examples/update-or-insert-group.md), create [recipe management tools](sql-bridge-transaction-groups/transaction-group-examples/recipe-group.md), and more! ![](bidirectional-grp.png) ## Historical Group The [Historical Group](sql-bridge-transaction-groups/transaction-group-examples/basic-historical-group.md) is the most straightforward and simplest to use. It will take OPC data and store it as history in a database. ![](historical-grp.png) ## Block Group The [Block Group](sql-bridge-transaction-groups/transaction-group-examples/block-group.md) is used to efficiently store large amounts of data in "blocks" or chunks of similar data in the database. This is perfect if you have many devices with the same tags in them. ![](block-grp.png) ## Stored Procedure Group The [Stored Procedure Group](sql-bridge-transaction-groups/transaction-group-examples/stored-procedure-group/stored-procedure-group.md) is used in a similar way as the Historical Group except instead of selecting a target table, you select a target Stored Procedure and use the tags as inputs and outputs. The only major requirement that makes this group different is that a stored procedure must already exist in your database for this group to work. ![](stored-procedure.png)